如何在第一个之后将列分成两部分

时间:2018-04-06 19:46:56

标签: sql postgresql split

postgresql中有一个 text 类型的列 并有表格中的数据

aa.bbb.cc.dddd
ee.fff.gg.hh.iiii
kk.ffg.hjf

我希望在第一个.之后将它分成两部分,如下所示:

aa   bbb.cc.dddd
ee   fff.gg.hh.iiii
kk   ffg.hjf

我可以使用哪些查询来执行此操作?

我试过了

SELECT split_part(col_name, '.', 1) AS part1,
       split_part(col_name,'.',2) AS part2 
from table_name;

但这是将它分成aa和bbb

1 个答案:

答案 0 :(得分:1)

您可以使用strpos查找第一个.,然后使用substr()

select left(col_name, strpos(col_name, '.') - 1) as part1, 
       substr(col_name, strpos(col_name, '.') + 1) as part2
from table_name