表格1
ID ITEM
-----------------------
1 a|b|c
2 x|y|z
3 Q||S
4 ||||
5 J|K|Y|U
我想按以下方式将ITEM上方插入table2
表2
SLNO ID ITEMS
------------------------
1 1 a
2 1 b
3 1 c
4 2 x
5 2 y
6 2 z
7 3 Q
8 3 S
9 5 J
10 5 K
11 5 Y
12 5 U
所以我用过
INSERT INTO table2("ID","ITEMS")SELECT ID,split_part("ITEM", '|',1) AS ITEMS FROM table1
问题是split_part()需要指定位置索引,因此它只拆分并显示字符表示的第一个位置,
ID ITEMS
-----------
1 a
2 x
3 Q
5 J
所以我如何达到上述目标
您可以将字符串转换为数组,然后取消嵌套该数组:
select t.id, i.item
from the_table t
cross join unnest(string_to_array(t.items, '|')) as i(item);
如果要排除空元素(例如,在该行中4 ||||
,可以使用:
select t.id, i.item
from the_table t
cross join unnest(string_to_array(t.items, '|')) as i(item)
where nullif(trim(i.item),'') is not null;
在线示例
问题内容: 我正在寻找一种通过查询来连接组中字段字符串的方法。因此,例如,我有一张桌子: 我想按company_id分组以获取类似信息: mySQL中有一个内置函数来执行此group_concat 问题答案: PostgreSQL 9.0或更高版本: Postgres的最新版本(自2010年末开始)具有可以完全满足问题要求的功能,甚至允许您指定分隔符字符串: Postgres 9.0还增加了在任何
本文向大家介绍如何在R中将字符串列拆分为多列?,包括了如何在R中将字符串列拆分为多列?的使用技巧和注意事项,需要的朋友参考一下 这可以在tidyr软件包的帮助下完成。 示例
问题内容: 我希望我的Python函数拆分一个句子(输入)并将每个单词存储在列表中。我当前的代码拆分了句子,但没有将单词存储为列表。我怎么做? 问题答案: 这应该足以将每个单词存储在列表中。 words已经是句子中单词的列表,因此不需要循环。 其次,这可能是拼写错误,但是你的循环有些混乱。如果你确实确实想使用附加,它将是: 不
问题内容: 一些外部数据供应商希望给我一个数据字段-管道分隔的字符串值,我觉得这很难处理。 没有应用程序编程语言的帮助,有没有办法将字符串值转换为行? 但是,存在一个困难,该字段具有未知数量的定界元素。 有问题的数据库引擎是MySQL。 例如: 问题答案: 它可能没有我最初想象的那么困难。 这是一种通用方法: 计算分隔符的出现次数 循环多次,每次获取一个新的定界值并将该值插入第二个表中。
问题内容: 我有以下内容,行索引在哪里。如何将列中的字符串分成5列数字? 问题答案: 对于另一种情况,假设它是看起来像元组的字符串: (注意:对于较早版本的熊猫(<0.16.1),您需要使用而不是expand关键字) 顺便说一句,如果它是元组而不是字符串,则可以简单地执行以下操作:
为什么下面的bash代码不起作用? 预期产出: