MySQL запрос для добавления символа к каждой записи - PullRequest
13 голосов
/ 01 октября 2008

У меня есть таблица пользователей, в которой есть столбец имени пользователя, состоящий из шестизначного числа, например, 675381, мне нужно добавить ноль к каждому из этих имен пользователей, например. 0675381 будет окончательным результатом предыдущего примера, есть ли запрос, который может обработать это?

Ответы [ 4 ]

29 голосов
/ 01 октября 2008
UPDATE Tablename SET Username = Concat('0', Username);
5 голосов
/ 01 октября 2008

к какому типу относится столбец?

если это строковый тип, попробуйте что-то вроде этого:

UPDATE your_table SET column_name=concat('0',column_name);
1 голос
/ 01 октября 2008

Вы имеете в виду "готовить"? то есть добавить его на лицевой стороне?

Является ли столбец числовым? Вы всегда хотите вывод 7 символов?

Предполагая, что что-то подобное будет работать для запроса:

select LPAD(CONVERT(username, CHAR), 7, '0')

Если столбец состоит из символов, часть CONVERT () не нужна, просто LPAD имя пользователя.

Если вы хотите навсегда изменить значение в таблице, вам нужно убедиться, что столбец является символьным типом, и ОБНОВИТЬ, используя вышеуказанное.

0 голосов
/ 02 октября 2008

Возможно, вы захотите использовать CONCAT_WS ('', '0', Имя пользователя), потому что, если есть нулевое значение, вы получите NULL вместо '0'. Это, вероятно, не проблема, но кое-что я усвоил трудным путем.

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