Обновить столбец в MySQL - PullRequest
       2

Обновить столбец в MySQL

2 голосов
/ 24 февраля 2012

Все данные в столбце foo имеют суффикс _. Я хочу удалить это _. Могу ли я сделать это с помощью SQL вместо написания скрипта?

Ответы [ 2 ]

4 голосов
/ 24 февраля 2012

Несколько способов сделать это:

  • TRIM трейлинг '_':

    UPDATE mytable
    SET foo = TRIM(TRAILING '_' FROM foo)
    
  • Захватите подстроку, состоящую из символов от 1 до n -1, n , являющуюся длиной строки в foo, используя SUBSTRING и CHAR_LENGTH:

    UPDATE mytable
    SET foo = SUBSTRING(foo,1,CHAR_LENGTH(foo)-1)
    

Я бы порекомендовал первый метод, так как, если у вас есть, скажем, одна строка в foo, чтобы не заканчивалась на '_', первый метод оставит его как есть, тогда как * второй займет последний символ, хотя это не подчеркивание.

0 голосов
/ 24 февраля 2012

Конечно:

SELECT TRIM( TRAILING '_' FROM foo ) AS foo FROM ... ;

( Документация )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...