在mobile
字段中,我有一个以7xxxxxxxxx开头的手机号码列表
我需要一个快速添加0的方法,例如:07xxxxxxx
但是在更新之前需要检查是否存在0
是否可以通过SQL查询
来实现答案 0 :(得分:4)
UPDATE table
SET mobile = CONCAT('0', mobile)
WHERE mobile NOT LIKE '0%'
答案 1 :(得分:0)
UPDATE the_table
SET the_phone_number = '0'||the_phone_number
WHERE the_phone_number NOT LIKE '0%'
这假设MySQL配置了ANSI模式(因为标准连接运算符||
)
答案 2 :(得分:0)
假设移动字段是9位数(包括前导零),
这是一个例子: -
mysql> select lpad('123456789', 9, 0); +-------------------------+ | lpad('123456789', 9, 0) | +-------------------------+ | 123456789 | +-------------------------+ 1 row in set (0.00 sec) mysql> select lpad('12345678', 9, 0); +------------------------+ | lpad('12345678', 9, 0) | +------------------------+ | 012345678 | +------------------------+ 1 row in set (0.00 sec)