MariaDB SUBSTRING_INDEX() 函数使用指南
在 MariaDB 中,SUBSTRING_INDEX()
是一个内置的字符串函数,它返回指定分隔符出现指定次数之前的子字符串。
MariaDB SUBSTRING_INDEX()
语法
这里是 MariaDB SUBSTRING_INDEX()
函数的语法:
SUBSTRING_INDEX(str, delim, count)
参数
str
- 必需的。原字符串。
delim
- 必需的。在原字符串中搜索的分隔符。
count
- 必需的。分隔符出现的次数。如果
count
为负数,则从字符串尾部向前开始计数分隔符,返回分隔符之后的子字符串。
如果您不提供参数或提供了错误数量的参数, MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SUBSTRING_INDEX'
。
返回值
MariaDB SUBSTRING_INDEX()
函数返回一个字符串中指定分隔符出现在指定次数之前的子字符串。
如果参数 count
等于 0
, SUBSTRING_INDEX()
函数返回一个空字符串 ''
;
如果参数 count
为负数时, 则从字符串尾部向前开始计数分隔符,返回分隔符之后的子字符串。
如果未找到给定的分隔符,SUBSTRING_INDEX()
函数返回原字符串。
如果任意一个参数为 NULL
时, SUBSTRING_INDEX()
函数将返回 NULL
。
MariaDB SUBSTRING_INDEX()
示例
基本示例
这个语句展示了 MariaDB SUBSTRING_INDEX()
函数的基本用法:
SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
输出:
+------------------------------------------+
| SUBSTRING_INDEX('www.mysql.com', '.', 2) |
+------------------------------------------+
| www.mysql |
+------------------------------------------+
负数
如果 count
参数为负数时, SUBSTRING_INDEX()
从字符串尾部向前开始计数分隔符,并返回分隔符之后的子字符串。
SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
输出:
+-------------------------------------------+
| SUBSTRING_INDEX('www.mysql.com', '.', -2) |
+-------------------------------------------+
| mysql.com |
+-------------------------------------------+
未找到分隔符
如果未找到给定的分隔符,SUBSTRING_INDEX()
函数返回原字符串。
SELECT SUBSTRING_INDEX('www.mysql.com', '/', 2);
输出:
+------------------------------------------+
| SUBSTRING_INDEX('www.mysql.com', '/', 2) |
+------------------------------------------+
| www.mysql.com |
+------------------------------------------+
结论
在 MariaDB 中,SUBSTRING_INDEX()
是一个内置的字符串函数,它返回指定分隔符出现指定次数之前的子字符串。