我有一个名为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
提前致谢
答案 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