前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >SQL函数 SUBSTR

SQL函数 SUBSTR

作者头像
用户7741497
发布2022-08-01 14:05:57
发布2022-08-01 14:05:57
63600
代码可运行
举报
文章被收录于专栏:hml_知识记录hml_知识记录
运行总次数:0
代码可运行

SQL函数 SUBSTR

返回从指定字符串表达式派生的子字符串的字符串函数。

大纲

代码语言:javascript
代码运行次数:0
复制
SUBSTR(string-expression,start[,length])

参数

  • string-expression - 要从中派生子字符串的字符串表达式。表达式可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。
  • start - 一个整数,它指定子字符串在字符串表达式中的开始位置。正的起始位置指定从字符串开头开始的字符数。 string-expression1 中的第一个字符位于位置 1。负起始位置指定从字符串末尾算起的字符数。如果 start0(零),则将其视为 1
  • length - 可选 — 一个正整数,指定要返回的子字符串的长度。此值指定子字符串在起始位置右侧结束长度字符。如果省略,则子字符串从字符串表达式的开头到结尾。如果长度为 0 或负数, 返回 NULL

描述

因为 start 可以是负数,所以可以从原始字符串的开头或结尾获取子字符串。

作为参数传递给 SUBSTR 的浮点数通过截断小数部分转换为整数。

  • 如果 start0–01,则返回的子字符串从字符串的第一个字符开始。
  • 如果 start 是负数,则返回的子字符串从字符串末尾开始该数量的字符,-1 表示字符串的最后一个字符。如果负数太大以至于从字符串末尾向后计数的值将位于字符串开头之前,则返回的子字符串从字符串的第一个字符开始。
  • 如果 start 超过了字符串的结尾,则返回 NULL
  • 如果长度大于字符串中剩余的字符,则返回从字符串开头到结尾的子字符串。
  • 如果长度小于 1,则返回 NULL
  • 如果 startlengthNULL,则返回 NULL

SUBSTR 不能与流数据一起使用。如果 string-expression 是流字段,则 SUBSTR 生成 SQLCODE -37。使用 SUBSTRING 从流数据中提取子字符串。

Oracle 兼容性支持 SUBSTR

示例

以下示例返回子字符串 CDEFG,因为它指定子字符串从第三个字符 (C) 开始并继续到字符串的末尾:

代码语言:javascript
代码运行次数:0
复制
SELECT SUBSTR('ABCDEFG',3) AS Sub

CDEFG

以下示例返回子字符串 CDEF,因为它指定子字符串从第三个字符 (C) 开始并持续四个字符(直到 F):

代码语言:javascript
代码运行次数:0
复制
SELECT SUBSTR('ABCDEFG',3,4) AS Sub

CDEF

以下示例返回子字符串 CDEF,因为它指定 应首先从原始字符串的末尾倒数五个字符,然后返回接下来的四个字符:

代码语言:javascript
代码运行次数:0
复制
SELECT SUBSTR('ABCDEFG',-5,4) AS Sub

CDEF

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL函数 SUBSTR
  • 大纲
  • 参数
  • 描述
  • 示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档