2015-07-28 56 views
1

以下更新列的示例表和數據PostgreSQL的:與同vaue

create table chk_vals (vals text); 

insert into chk_vals values ('1|2|4|3|9|8|34|35|38|1|37|1508|1534'); 

因此,如何在現有的值的第四位(追加整數3|更新列vals作爲。分隔符)到最後的位置與符號一起|

,你可以看到,如果1|2|4|3|9|8|34|35|38|1|37|1508|1534的existsing值和輸出應該是1|2|4|3|9|8|34|35|38|1|37|1508|1534|3

回答

2

使用PostgreSQL的split_part()到拆分領域,找到位置4

select split_part(vals,'|',4) val from chk_vals 

值這將返回值3

update chk_vals 
set vals=vals||format('|%s',(select split_part(vals,'|',4) val from chk_vals)) 

Format()