在 MySQL 中,SUBSTRING_INDEX
、SUBSTRING
、LOCATE
和 LENGTH
是字符串处理的一些常用函数。下面是它们的基本用法:
SUBSTRING_INDEX
SUBSTRING_INDEX(str, delim, count)
用于返回字符串 str
中由分隔符 delim
分隔的子字符串。count
参数指定要返回的子字符串的个数。
str
:原始字符串。delim
:分隔符。count
:指定返回的子字符串的个数。如果是正数,返回左起的子字符串;如果是负数,返回右起的子字符串。
sql复制代码
SELECT SUBSTRING_INDEX('apple:orange:banana', ':', 2); -- 返回 'apple:orange'
SUBSTRING
SUBSTRING(str, start, length)
用于返回字符串 str
中从位置 start
开始、长度为 length
的子字符串。start
和 length
参数可以是正数或负数。
str
:原始字符串。start
:起始位置,如果是正数,表示从左起的位置;如果是负数,表示从右起的位置。length
:要返回的子字符串的长度。
sql复制代码
SELECT SUBSTRING('abcdef', 2, 3); -- 返回 'bcd'
LOCATE
LOCATE(substr, str, start)
用于返回字符串 str
中子字符串 substr
的位置。start
参数指定搜索的起始位置。
substr
:要搜索的子字符串。str
:原始字符串。start
:搜索的起始位置,默认为 1。
sql复制代码
SELECT LOCATE('world', 'Hello, world!'); -- 返回 7
LENGTH
LENGTH(str)
用于返回字符串 str
的长度,以字符为单位。
str
:要计算长度的字符串。
sql复制代码
SELECT LENGTH('abc'); -- 返回 3
这些函数在处理字符串时非常有用,特别是在提取、截断或搜索子字符串的场景下。请注意,MySQL 中的字符串索引和长度计数都是以 1 为起始的。在使用这些函数时,建议参考 MySQL 官方文档以获取更详细的信息和用法。