PostgreSQL 9.3:将一列拆分成多个

6
我希望将下面示例中的一列colb拆分成两列,例如column1column2
我有一个包含两列的表: 示例:
create table t3
(
    cola varchar,
    colb varchar
);

插入:

insert into t3 values('D1','2021to123'),
                     ('D2','112to24201'),
                     ('D3','51to201');

我希望将colb的值拆分成两列,如下所示的预期结果:

预期结果

cola      column1        column2
---------------------------------
D1        2021           123
D2        112            24201
D3        51             201

但是t3只有两列,对吗? - Vivek S.
需要更多的澄清,您是想在选择中获取3列还是在插入到t3之前创建额外的2列? - Vivek S.
1
@unique_id,是的!我想在“select”语句中有3列。 - MAK
1个回答

17
select cola
      ,split_part(colb, 'to', 1) col1
      ,split_part(colb, 'to', 2) col2 
from t3

摘自PostgreSQL文档:

split_part(string text, delimiter text, field int)

在分隔符上拆分字符串并返回给定字段(从1开始计数)


1
是的!非常感谢你。 - MAK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接