POSTGRES - 添加空格

时间:2018-03-05 02:44:50

标签: sql postgresql

我有一个名为item的列,我想在item列的每一行的START处添加空格。

我还想删除3并将结果插入名为item_n的新列。

item                 item_n
-------------------|-----------
to go 3            |
1 2 3              |
cat dog 3          |
blah blah 3

结果:

item          |  item_n
------------------------------
to go 3       | to go
1 2 3         | 1 2
cat dog 3     | cat dog
blah blah 3   | blah blah

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以使用left()使用否定的第二个参数:

select left(item, -2) as item_n

如果你知道“3”只出现在字符串的末尾,你可以这样做:

select replace(item, ' 3', '')

或者,如果“3”可能不在字符串中,那么case就是一个解决方案:

select (case when item like '% 3' then left(item, -2) else item
        end) as item_n

您可以使用字符串连接前置空格:

select ' ' || left(item, -2) as item_n

答案 1 :(得分:0)

试试这个会给你一个完美的答案

Select concat(' ', replace(item,' 3',' ')) from table name