【发布时间】:2017-06-03 07:05:22
【问题描述】:
我已经找到了“How to format a numeric column as phone number in SQL”,但它只是破坏了我的号码。
我有一个类似064184335 的电话号码,想将其格式化为+49 641 84335。
我试过了:
UPDATE vtiger_contactdetails
SET phone = '+49' +' '+ SUBSTRING(phone, 2, 2 ) + ' ' + SUBSTRING(phone, 4, 3)
但我得到了295 作为电话号码。
此外,第二个SUBSTRING 中的3 应该是电话号码的其余部分。
如果我想更改不同表格中的每个电话号码,它不应该使用:
UPDATE vtiger_account, vtiger_contactdetails, vtiger_contactsubdetails
SET vtiger_account.phone = CONCAT('+49', ' ', SUBSTRING(vtiger_account.phone, 2, 3 ), ' ', SUBSTRING(vtiger_account.phone, 5, length(vtiger_account.phone)))
SET vtiger_account.otherphone = CONCAT('+49', ' ', SUBSTRING(vtiger_account.otherphone, 2, 3 ), ' ', SUBSTRING(vtiger_account.otherphone, 5, length(vtiger_account.otherphone)))
SET vtiger_contactdetails.phone = CONCAT('+49', ' ', SUBSTRING(vtiger_contactdetails.phone, 2, 3 ), ' ', SUBSTRING(vtiger_contactdetails.phone, 5, length(vtiger_contactdetails.phone)))
SET vtiger_contactdetails.mobile = CONCAT('+49', ' ', SUBSTRING(vtiger_contactdetails.mobile, 2, 3 ), ' ', SUBSTRING(vtiger_contactdetails.mobile, 5, length(vtiger_contactdetails.mobile)))
SET vtiger_contactsubdetails.homephone = CONCAT('+49', ' ', SUBSTRING(vtiger_contactsubdetails.homephone, 2, 3 ), ' ', SUBSTRING(vtiger_contactsubdetails.homephone, 5, length(vtiger_contactsubdetails.homephone)))
SET vtiger_contactsubdetails.otherphone = CONCAT('+49', ' ', SUBSTRING(vtiger_contactsubdetails.otherphone, 2, 3 ), ' ', SUBSTRING(vtiger_contactsubdetails.otherphone, 5, length(vtiger_contactsubdetails.otherphone)))
SET vtiger_contactsubdetails.assistantphone = CONCAT('+49', ' ', SUBSTRING( vtiger_contactsubdetails.assistantphone, 2, 3 ), ' ', SUBSTRING( vtiger_contactsubdetails.assistantphone, 5, length( vtiger_contactsubdetails.assistantphone)))
如何忽略已经格式化的数字?
【问题讨论】:
-
我实际上会将国家代码 (
'+49') 存储在另一列中,因为如果在该国家/地区调用 within 则不需要它。就此而言,您也不应该将其格式化存储 - 这是一个显示层问题。 -
对于我的第二个代码,我只是得到一个语法错误。我对这些东西很陌生。我会尽力的,请不要评判:)
标签: sql phpmyadmin format substring vtiger