如何在postgresql中将值与字符串分隔成列?

时间:2017-03-22 12:01:51

标签: sql postgresql

我有下表:

tlb (Text)               value(Integer)   cost (numeric)
150;itema;section;shelf      5                0.5
120;itemb;shelf;box          5                2.3
151;itemf;section;shelf      5                1.5

我想将此表格转换为此表格:

a        b         c        d   value   cost
150    itema    section    shelf   5    0.5
120    itemb    shelf      box     5    2.3
151    itemf    section    shelf   5    1.5

基本上将tlb列拆分为4个不同的列。

tlb的结构始终相同string;string;string;string

我该怎么做?

2 个答案:

答案 0 :(得分:1)

显示:

java.sql.SQLException: No suitable driver found for "jdbc:sqlserver://remoteServer:1433;databaseName=dbName"

答案 1 :(得分:1)

您可以使用split_part,例如:

t=# with s as (select '150;itema;section;shelf'::text d)
select
  split_part(d,';',1) a
, split_part(d,';',2) b
, split_part(d,';',3) c
, split_part(d,';',4) d
from s;
  a  |   b   |    c    |   d
-----+-------+---------+-------
 150 | itema | section | shelf
(1 row)