列中刪除字符需要刪除與這些字符結尾的列中的值:「* 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