列中删除字符需要删除与这些字符结尾的列中的值:“* 8”的PostgreSQL从的endsWith
我发现他们:
SELECT
"PIPPO"
FROM
"PLUTO"
WHERE
"PIPPO" LIKE '%*8'
有一个简单的到的方法删除那些用查询结束字符?
列中删除字符需要删除与这些字符结尾的列中的值:“* 8”的PostgreSQL从的endsWith
我发现他们:
SELECT
"PIPPO"
FROM
"PLUTO"
WHERE
"PIPPO" LIKE '%*8'
有一个简单的到的方法删除那些用查询结束字符?
UPDATE "PLUTO"
SET "PIPPO" = left("PIPPO", -2)
WHERE right("PIPPO", 2) = '*8';
left()
and right()
functions从输入字符串返回子字符串。使用负长度值会返回“除了所有内容”,因此对于'qwerty * 8'值为'qwerty'且right("PIPPO", 2)
产生'* 8'。请注意,除了表达式的索引之外,这将比使用LIKE
运算符更快。
Regular Exp中的'$'表示一行的结尾。所以'8 $'匹配字符串和结尾'8'。 – Atvoid
您可以使用replace(PIPPO, '* 8', '') –
@MukeshKalgude什么用列 '* 8' 在字符串的中间? – Patrick