MySQL中的SUBSTR()
函数用于从一个字符串中提取指定长度的子字符串。它有两种语法形式,分别适用于不同的场景。
-
SUBSTR(str, pos)
:从字符串str
中的位置pos
开始提取子字符串,直到字符串末尾。示例:
SELECT SUBSTR('Hello, world!', 3); -- 返回 "llo, world!"
-
SUBSTR(str, pos, len)
:从字符串str
中的位置pos
开始提取长度为len
的子字符串。示例:
SELECT SUBSTR('Hello, world!', 3, 5); -- 返回 "llo, w"
注意:在这两种语法形式中,pos
参数都是从1开始计数的,而不是从0开始。如果pos
为负数,则从字符串末尾开始计算位置。例如,SUBSTR('Hello, world!', -6)
将返回"world!"。
此外,还可以使用SUBSTRING()
函数实现相同的功能,它与SUBSTR()
函数的语法完全相同。例如:
SELECT SUBSTRING('Hello, world!', 3); -- 返回 "llo, world!" SELECT SUBSTRING('Hello, world!', 3, 5); -- 返回 "llo, w"