我有一个数据库表,其中包含一个包含整数的列。每个条目都是一个电话号码,它们在开头都缺少零。
e.g。我有798514586, 785558999
我想运行一个SQL查询,它将通过在其前面放置零来修改每个条目。
结果将是 0798514586, 0785558999
是否有这样的查询来执行此操作?
答案 0 :(得分:2)
试试这个
语法:
UPDATE <table> SET <column_to_update> = CONCAT(<string_to_concat>, <column_to_update>)
示例:
UPDATE contacts SET phone = CONCAT('0', phone)
答案 1 :(得分:1)
我想如果它已经存在,你不想添加前导零:
update TableName
set SomeColumn = concat('0', SomeColumn)
where SomeColumn not like '0%'
答案 2 :(得分:1)
将电话号码存储为INT并不是一个好主意,最好在这里使用VARCHAR。我建议你添加一个新的varchar列:
\>
然后你可以使用UPDATE查询:
ALTER TABLE numbers ADD COLUMN phone_new VARCHAR(15);
MySQL会自动将数字转换为字符串,使用CONCAT可以添加前导零。
答案 3 :(得分:0)
您可以尝试:
update tableName set fieldName = CONCAT('0',fieldName)
答案 4 :(得分:0)
您可以使用LPAD:
Update _table set _col = LPAD(_col , 10, '0');