一些外部数据供应商想要给我一个数据字段 - 管道分隔的字符串值,我觉得很难处理。

没有应用程序编程语言的帮助,有没有办法将字符串值转换为行?

然而,有一个困难,该字段有未知数量的分隔元素。

有问题的数据库引擎是 MySQL。

例如:

Input: Tuple(1, "a|b|c")

Output:

Tuple(1, "a")
Tuple(1, "b")
Tuple(1, "c")

最佳答案

它可能没有我最初想象的那么难。

这是一种通用方法:

  • 计数分隔符的出现次数 length(val) - length(replace(val, '|', ''))
  • 循环多次,每次获取一个新的分隔值并将该值插入到第二个表中。
  • 关于mysql - 将分隔的字符串值拆分为行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18304857/

    10-12 12:50
    查看更多