在 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 官方文档以获取更详细的信息和用法。