Skip to content

SUBSTR

功能描述

从字符串expr1中截取第expr2个字符到末尾的子字符串。 指定expr3时,则从expr1的第expr2个字符开始截取expr3长度的子串。

语法格式

SUBSTR(expr1,expr2[,expr3])

参数说明

  • expr1:要从中截取子字符串的源字符串。
  • expr2:为截取的起始位置;无论正负,截取方向总是向右。
    • 为正数时,截取开始位置从左向右数;绝对值大于字符串长度时结果为空。
    • 为0时,截取整个字符串。
    • 为负数时,截取开始位置从右向左数;绝对值大于字符串长度时结果为空。
  • expr3:要截取的子字符串的长度。该值小于1时结果为空。

函数返回类型

CHAR类型字符串。

示例

从左边数第二个字符开始截取到字符串末尾:

sql
SQL> SELECT SUBSTR('ABCDEFG',2) FROM dual;

EXPR1 |
------------------------------------------------------------------------------
BCDEFG|

从右边数第二个字符开始截取到字符串末尾:

sql
SQL> SELECT SUBSTR('ABCDEFG',-2) FROM dual;

EXPR1 |
------------------------------------------------------------------------------
FG|

从左边数第三个字符开始截取字符串5个长度的字符:

sql
SQL> SELECT SUBSTR('今天天气特别好',3,5) FROM dual;

EXPR1 |
------------------------------------------------------------------------------
天气特别好|