2014-10-16 3 views
3

вы бы подумали, что на это что-то ответили, но я не могу найти точный ответ. Мне нужно удалить последний символ в строке, это может быть любой символ, а строка может быть любой длины.mysql удалить очень последний символ

пример 992899d должен быть 992899

+0

возможно дубликат [Газа двух последних символов столбца в MySQL] (http://stackoverflow.com/questions/6080662/strip-last-two-characters-of-a-column -in-mysql) – andy

+0

Нет, это не так. Ответ там просто отображает разделенное значение и фактически не удаляет последний символ и сохраняет его обратно в базу данных. –

ответ

10

Любое решение с использованием SUBSTRING отображает только содержимое поля, удаляя последний символ. Фактически это не будет обновлять содержимое столбца. Если это то, что вы хотите (т. Е. Используя его с SELECT), то 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