【发布时间】:2013-08-19 00:05:03
【问题描述】:
一些外部数据供应商想给我一个数据字段 - 管道分隔的字符串值,我觉得这很难处理。
如果没有应用程序编程语言的帮助,有没有办法将字符串值转换为行?
但是有一个困难,该字段有未知数量的分隔元素。
有问题的数据库引擎是 MySQL。
例如:
Input: Tuple(1, "a|b|c")
Output:
Tuple(1, "a")
Tuple(1, "b")
Tuple(1, "c")
【问题讨论】:
-
@YuriyGalanter 不是重复的。我的问题要求进行数据转换,而不是数据提取。
-
同样的事情 - 拆分字符串。将结果插入表中,这是许多 SQL 方言中的常见任务。只需谷歌“MySQL 拆分字符串”
-
看,如果事先知道分隔值的数量,那肯定不难。但就我而言,这个数字是未知的。
-
项目数无关紧要。看看那个 SO 答案中提到的blog.fedecarg.com/2009/02/22/mysql-split-string-function 的例子。它采用具有 任意 个元素的字符串。这只是一个例子,如果它不适合你——还有很多其他的。例如。您可能需要一个返回表的函数,您可以从中进行 SELECT 以将拆分数据插入到您自己的表中。
标签: mysql sql database delimiter