2014-10-16 197 views
3

你會認爲這是回答某處,但我無法找到確切的答案。 我需要刪除字符串中最後一個字符,它可以是任何字符,字符串可以是任意長度。mysql刪除最後一個字符

例如992899d必須992899

+0

可能重複http://stackoverflow.com/questions/6080662/strip-last-two-characters-of-a-column -in-mysql) – andy 2014-10-16 16:48:24

+0

不,它不是。那裏的答案只會顯示剝離的值,而不會實際刪除最後一個字符並將其存回數據庫。 – 2016-05-20 05:45:39

回答

10

任何使用的解決方案SUBSTRING只會通過刪除最後一個字符來顯示該字段的內容。 它實際上不會更新列的內容。如果這是你想要的(即使用選擇)然後SUBSTRING就足夠了。

但是,如果你想實際更新列的價值,你可以嘗試以下方法:

UPDATE <table_name> 
SET <column_name> = CONCAT(LEFT(<column_name>, CHAR_LENGTH(<column_name>) -1), '') 
WHERE <condition>; 

這將有什麼替代的最後一個字符,因此最後一個字符會刪除。

參見:http://dev.mysql.com/doc/refman/5.7/en/string-functions.html

[地帶最後兩個的在MySQL字符(的