mysql split
时间: 2023-06-21 07:06:54 浏览: 100
mysql split函数用逗号分隔的实现
MySQL并没有内置的split函数,但是可以使用其他函数来实现字符串分割的功能。下面介绍两种常用的方法:
1. SUBSTRING_INDEX函数
这个函数可以根据指定的分隔符将字符串分割成若干个部分,返回指定部分的值。例如,将字符串"apple,banana,orange"按逗号分割,可以使用以下语句:
```
SELECT SUBSTRING_INDEX('apple,banana,orange', ',', 1) AS part1,
SUBSTRING_INDEX(SUBSTRING_INDEX('apple,banana,orange', ',', 2), ',', -1) AS part2,
SUBSTRING_INDEX('apple,banana,orange', ',', -1) AS part3;
```
输出结果:
```
+--------+--------+--------+
| part1 | part2 | part3 |
+--------+--------+--------+
| apple | banana | orange |
+--------+--------+--------+
```
2. REGEXP函数
这个函数可以利用正则表达式将字符串分割成若干个部分,返回指定部分的值。例如,将字符串"apple,banana,orange"按逗号分割,可以使用以下语句:
```
SELECT REGEXP_SUBSTR('apple,banana,orange', '[^,]+', 1, 1) AS part1,
REGEXP_SUBSTR('apple,banana,orange', '[^,]+', 1, 2) AS part2,
REGEXP_SUBSTR('apple,banana,orange', '[^,]+', 1, 3) AS part3;
```
输出结果:
```
+--------+--------+--------+
| part1 | part2 | part3 |
+--------+--------+--------+
| apple | banana | orange |
+--------+--------+--------+
```
需要注意的是,REGEXP函数只在MySQL 8.0及以上版本中可用。
阅读全文