PostgreSQL从结尾的列中删除char

时间:2015-09-07 06:57:51

标签: sql postgresql

需要删除以char结尾的列中的值:“* 8”

我找到了他们:

{{1}}

有一种简单的方法可以删除带有查询的结尾字符吗?

2 个答案:

答案 0 :(得分:1)

UPDATE "PLUTO"
SET "PIPPO" = left("PIPPO", -2)
WHERE right("PIPPO", 2) = '*8';

left() and right() functions从输入字符串返回子字符串。使用负长度值会返回"除了"之外的所有内容,因此对于值为' qwerty * 8' left("PIPPO", -2)生成了' qwerty'并right("PIPPO", 2)生成' * 8'。请注意,这将比使用LIKE运算符更快,除了表达式的索引。

答案 1 :(得分:0)

您可以使用正则表达式替换。它很强大。

update test
set name = regexp_replace(name, '8$', '');

Click to View Test Script