MySQL-mysql字符串分割为字段的方法?

MySQL-mysql字符串分割为字段的方法?

瑾兮 发布于 2017-10-14 字数 268 浏览 1275 回复 3

有这样一组字符串:123,234,567......
mysql里使用:SELECT xxx_function('123,234,567...')之后结果按,分割成字段使用
例如输出如下:
SELECT xxx_function('123,234,567...');
字段名
123
234
567
不知有没有这样的xxx_function的方法?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

灵芸 2017-10-26 3 楼

find_in_set可能对你有帮助,FIND_IN_SET(str,strlist) ,具体的可以google一下

泛泛之交 2017-10-21 2 楼

以前收录的一段代码

自定义函数:

CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');

使用:

SELECT SPLIT_STR(string, separator, position)
SELECT SPLIT_STR('12.25,21.75', ',', 1) as first;

清晨说ぺ晚安 2017-10-16 1 楼

mysql中没有你要求的函数,建议你在外面直接对字符串进行处理。例如,在Java语言中,可以采用Split函数进行处理。
//定义字符串
String s = "123,234,567";
String a[] = s.split(",");//split函数的参数为正则表达式
//此时a为字符串数组,a={123,234,567},然后,你就可以通过数组a,循环取值
我对Java比较熟悉,所以列举了Java示例。
如果你一定需要在mySql使用函数进行处理,你可以尝试自定义一个函数,实现类似Java中split函数的功能。