select substr(campground,position('/' in campground)+1)
from (values
('ABC/American Bike Camp')
,('ALBE/Alberta Beach Family RV Park')) t(campground)
;
substr
------------------------------
American Bike Camp
Alberta Beach Family RV Park
(2 rows)
在update语句中使用该表达式:
update reservation
set campground = substr(campground,position('/' in campground)+1)
where campground like '%/%'
;
6条答案
按热度按时间vd8tlhqk1#
您真的要删除字符串的前5个字符,还是要删除第一个正斜杠之前的所有字符?
这里的其他答案解决了你的字面问题。这回答了您可能真正要问的问题(postgresql方言):
在update语句中使用该表达式:
(包含where子句以确保它不会更新已更新的行)
vpfxa7rd2#
你可以用
substring
带起始位置的函数blpfk2vs3#
在mysql中,您可以使用非常简单的查询:
在postgresql中使用
substring
相反mid
:小心,此查询将更改源数据,而不使用回滚选项。
wdebmtf24#
未能在set子句中提供列名:
vktxenjb5#
我只想用
substr()
,使表达式更简单:mysql和postgres都支持这种语法。
如果需要更新查询,则:
t9aqgxwy6#
你可以用
split_part()
在postgresql中