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() 是一个内置的字符串函数,它返回指定分隔符出现指定次数之前的子字符串。