MySql有一个函数CONCAT_WS,我用它将带有分隔符的多个字段导出到一个字段中。效果很棒!
在我查询的数据库中存储了多个字段,其中包含我需要单独提取每个字段的数据,但在每个字段中,数据需要包含分隔符。我当然可以做一个连接,但如果我的数据需要多达100个唯一值,那么确定需要一段时间。以下是我所谈论的一个例子
Stored Data 01020304050607
End Result 01,02,03,04,05,06,07
Stored Data 01101213
End Result 01,10,12,13
MySQL中是否有一个函数可以执行上述操作?
答案 0 :(得分:0)
我对mysql并不熟悉,但是我已经看到过像这样的问题出现在正则表达式函数有用之前。有一些用户定义的函数可以使用类似Oracle的正则表达式函数,因为它们在mysql中的支持很弱。见这里:https://github.com/hholzgra/mysql-udf-regexp
所以你可以这样做:
select trim(TRAILING ',' FROM regexp_replace(your_column, '(.{2})', '\1,') )
from your_table;
这会每2个字符添加一个逗号,然后从最后一个字符中删除。也许这会给你一些想法。