MySQL 常用字符串函数 SUBSTRING_INDEX、SUBSTRING、LOCATE 和 LENGTH

在 MySQL 中,SUBSTRING_INDEXSUBSTRINGLOCATELENGTH 是字符串处理的一些常用函数。下面是它们的基本用法:

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 的子字符串。startlength 参数可以是正数或负数。

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

你可能感兴趣的:(mysql,数据库)