2008-10-01 2 views
13

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

ответ

27
UPDATE Tablename SET Username = Concat('0', Username); 
+0

Спасибо, пользователь brian получил его первым, но я должен был сказать, что preend, а не append, он, кажется, удалил свой пост сейчас, хотя! Приветствия. – Stuart 2008-10-01 08:13:58

+1

вы предоставили пример: 675381 должен стать 0675381 – daniels 2008-10-01 09:35:36

4

какой тип столбца?

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

UPDATE your_table SET column_name=concat('0',column_name); 
+0

Спасибо, даниэли были просто немного быстрее. – Stuart 2008-10-01 08:20:05

1

Вы имеете в виду "PREPEND"? т. е. добавить его спереди?

Является ли колонка числовой? Вы всегда хотите получить 7 символов?

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

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

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

Если вы хотите постоянно изменять значение в таблице, вам необходимо убедиться, что столбец является типом символа и UPDATE, используя приведенное выше.

0

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

Смежные вопросы