我有一张不正确的电话表
有些人的数字如:06xxxxxxxx
其他人的数字如:06-xxxxxxxx
我希望他们这样:+ 316xxxxxxxx
我的桌子:
userid,phonenumber,country
我当前的(非工作查询)查询:
更新account_number上午
SET am.phonenumber = REPLACE(am.phonenumber,'06','+ 316');
以上操作无效,因为如果有人会有+31611061111这样的数字
它也将被替换并成为+ 31611 + 3161111
我希望我的问题不是复杂的 提前谢谢......
答案 0 :(得分:1)
尝试类似
的内容UPDATE account_number am
SET am.phonenumber = '+316' + Substring(am.phonenumber,3,Length(am.phonenumber) - 2)
where am.phonnumber like '06%'
答案 1 :(得分:1)
试试这个
`UPDATE account_number am SET am.phonenumber = CONCAT('+ 316',SUBSTRING(am.phonenumber,4))WHERE am.phonenumber LIKE '06 - %';
UPDATE account_number am SET am.phonenumber = CONCAT('+ 316',SUBSTRING(am.phonenumber,3))WHERE am.phonenumber LIKE '06%';`
答案 2 :(得分:0)
您可以使用WHERE
子句来匹配仅以06开头的数字,如果这是您所追求的。要实现这一目标LIKE