首页 MySQL SUBSTRING() 函数

MySQL SUBSTRING() 函数

MySQL SUBSTRING() 函数返回一个字符串中从指定位置开始的指定长度的子字符串。 SUBSTR() 等同于 SUBSTRING() 函数。

SUBSTRING() 语法

MySQL SUBSTRING() 函数有 4 种形式的语法:

SUBSTRING(str, pos)
SUBSTRING(str FROM pos)
SUBSTRING(str, pos, len)
SUBSTRING(str FROM pos FOR len)

MID(str, pos, len) 等同于 SUBSTRING(str, pos, len) 函数。

参数

str
必需的。从中提取子字符串的原字符串。
pos
必需的。开始提取的位置。它可以是正数或者负数。如果是正数,则从字符串的开头为起始位置确定开始提取的位置提取子字符串。如果是负数,则从字符串的结尾为起始位置确定开始提取的位置提取子字符串。
len
可选的。子字符串的长度(字符数)。如果不指定,则提取到原字符串的结尾。

返回值

SUBSTRING() 函数从原字符串提取的子字符串并返回。

  • pos0 或者超过原字符串的长度时, SUBSTRING() 函数将返回空串 ''
  • pos 为负数时, SUBSTRING() 函数将返回空串 ''
  • pos + len 超过原字符串的长度时, SUBSTRING() 函数提取到原字符串的结尾。
  • 当参数为 NULL 时, SUBSTRING() 函数将返回 NULL

SUBSTRING() 示例

SELECT
    SUBSTRING('Hello', 1, 2),
    SUBSTRING('Hello', 2, 2),
    SUBSTRING('Hello', 1),
    SUBSTRING('Hello', 1, 8),
    SUBSTRING('Hello', -2, 2),
    SUBSTRING('Hello', 8, 2),
    SUBSTRING('Hello', 0, 2),
    SUBSTRING('Hello', 0),
    SUBSTRING('Hello' FROM 2 FOR 2)\G
*************************** 1. row ***************************
       SUBSTRING('Hello', 1, 2): He
       SUBSTRING('Hello', 2, 2): el
          SUBSTRING('Hello', 1): Hello
       SUBSTRING('Hello', 1, 8): Hello
      SUBSTRING('Hello', -2, 2): lo
       SUBSTRING('Hello', 8, 2):
       SUBSTRING('Hello', 0, 2):
          SUBSTRING('Hello', 0):
SUBSTRING('Hello' FROM 2 FOR 2): el
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。