mysql 按空格分割字符串 正则表达式
时间: 2023-07-24 21:22:45 浏览: 219
去掉字符串前后所有空格的正则表达式
5星 · 资源好评率100%
在 MySQL 中,可以使用正则表达式函数 REGEXP_SUBSTR() 和 REGEXP_REPLACE() 来按空格分割字符串。
首先,使用 REGEXP_REPLACE() 函数将字符串中的多个连续空格替换为单个空格。然后,使用 REGEXP_SUBSTR() 函数按空格分离单词。该函数接受三个参数:要分离的字符串、正则表达式(匹配空格)和要返回的单词索引。
例如,假设我们有一个包含空格分隔的字符串 "apple banana orange",我们可以使用以下查询来获取第二个单词(即 "banana"):
```
SELECT REGEXP_SUBSTR(REGEXP_REPLACE('apple banana orange', ' +', ' '), '[^ ]+', 2);
```
输出结果为:
```
banana
```
如果要获取第一个单词(即 "apple"),则可以将第三个参数设置为 1:
```
SELECT REGEXP_SUBSTR(REGEXP_REPLACE('apple banana orange', ' +', ' '), '[^ ]+', 1);
```
输出结果为:
```
apple
```
需要注意的是,正则表达式函数的性能可能比 SUBSTRING_INDEX() 和 TRIM() 函数低。如果数据量较大或查询频繁,请谨慎使用。
阅读全文