gpt4 book ai didi

mysql - 使用正则表达式分隔符在 MySQL 中拆分字段值?

转载 作者:行者123 更新时间:2023-11-29 07:02:40 27 4
gpt4 key购买 nike

我想在 MySQL 中使用正则表达式分隔符拆分字符串。有什么办法可以做到这一点?

我发现这篇博文解释了如何实现一个简单的拆分字符串函数: mysql split string function

但是,我必须用两个替代字符拆分我的字符串,所以我想使用这个正则表达式:[-,] 来分隔字符串。

这是我拥有的表格的示例以及我想要实现的目标:

| id | range |
|----|-------|
| 1 | 2,3,5 |
| 2 | 1-4 |
| 3 | 2 |

我想做的是找到每个“范围”字段的最小值和最大值。所以,我想得到:

第 1 行:2 和 5
第 2 行:1 和 4
第 3 行:2

如有任何提示,我们将不胜感激!

最佳答案

考虑到您的表名为 data 并且 range 中的值从最小到最大排序,可以吗?

SELECT id, 
(0 + data.range) AS min,
GREATEST(
0 + SUBSTRING_INDEX(data.range, ',', -1),
0 + SUBSTRING_INDEX(data.range, '-', -1)
) AS max
FROM `data`

但是,您真的应该考虑按照 Boris 的建议为范围创建一个新表,如果可以的话,它会更干净。

关于mysql - 使用正则表达式分隔符在 MySQL 中拆分字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9226887/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com