mysql split 函数
时间: 2023-12-07 18:37:54 浏览: 79
很抱歉,MySQL中并没有内置的split()函数,但可以通过自定义函数或存储过程来实现字符串分割。以下是几种实现方法:
1.使用SUBSTRING_INDEX函数实现字符串分割
```sql
SELECT SUBSTRING_INDEX('a,b,c,d', ',', 2); -- 输出:a,b
```
2.使用正则表达式实现字符串分割
```sql
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('a,b,c,d', ',', n), ',', -1) AS result
FROM (SELECT 1 n UNION ALL SELECT 2
UNION ALL SELECT 3 UNION ALL SELECT 4) num; -- 输出:a b c d
```
3.使用自定义函数实现字符串分割
```sql
DELIMITER $$
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos - 1)) + 1),
delim, '');
END$$
DELIMITER ;
SELECT SPLIT_STR('a,b,c,d', ',', 2); -- 输出:b
```
阅读全文