这个:
column_A|column_B|column_C
a|a,b,c|b
b|a|b
c|a|c
应该这样结束:
column_A|column_B|column_C
a|a|b
a|b|b
a|c|b
b|a|b
c|a|c
column_B 有类似 CSV 的数据。列由任意字符分隔,在本例中为逗号。
最佳答案
您应该能够通过 string_to_array
和 unnest
的组合来完成此操作:
SELECT column_a, unnest(string_to_array(column_b,',')), column_c
FROM tablename;
SQLFiddle
也就是说,您没有提供有关数据类型的足够信息,并且任意字符如果用作分隔符,则永远不会是任意的。
关于sql - 如何使用单个查询将一行拆分为多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919329/