在Postgresql中拆分逗号分隔的字段,并对所有生成的表执行一个UNI
发布时间:2020-12-13 16:29:28 所属栏目:百科 来源:网络整理
导读:我有一个包含逗号分隔字符串的字段的表: ID | fruits-----------1 | cherry,apple,grape 2 | apple,orange,peach 我想创建一个规范化的表,如下所示: ID | fruits-----------1 | cherry 1 | apple 1 | grape2 | apple 2 | orange 2 | peach postgresql 8.4
我有一个包含逗号分隔字符串的字段的表:
ID | fruits ----------- 1 | cherry,apple,grape 2 | apple,orange,peach 我想创建一个规范化的表,如下所示: ID | fruits ----------- 1 | cherry 1 | apple 1 | grape 2 | apple 2 | orange 2 | peach postgresql 8.4文档描述了一个可以转换单个表的regexp_split_to_table函数: SELECT foo FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog',E's+') AS foo; 这给你这个: foo -------- the quick brown fox jumped over the lazy dog (9 rows) 但这只是一个单一的领域.我想做的是某种UNION应用于通过拆分每个字段生成的所有表.谢谢.
这应该给你你要找的输出:
SELECT yourTable.ID,regexp_split_to_table(yourTable.fruits,E',') AS split_fruits FROM yourTable 编辑:修正正则表达式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |