非常像 MySQL 菜鸟,所以如果我问一个明显的问题,请原谅我。
我的问题是我必须将电话号码从文本字段转换为整数。文本字段一直是自由文本,因此用户可以输入他们想要的内容。我已经处理了 90% 的行(空格、非 alpha 等),但我坚持翻译 0800“单词”——即 0800PHONEME 需要转换为 08007466363。我需要在0800 号码。
如果可能的话,我想在数据库级别执行此操作
请问有什么想法/建议吗?
谢谢
非常像 MySQL 菜鸟,所以如果我问一个明显的问题,请原谅我。
我的问题是我必须将电话号码从文本字段转换为整数。文本字段一直是自由文本,因此用户可以输入他们想要的内容。我已经处理了 90% 的行(空格、非 alpha 等),但我坚持翻译 0800“单词”——即 0800PHONEME 需要转换为 08007466363。我需要在0800 号码。
如果可能的话,我想在数据库级别执行此操作
请问有什么想法/建议吗?
谢谢
我认为您最好的选择是使用 UDF(用户定义的函数)REGEXP_REPLACE
来查找和替换 alpha。
2号:
UPDATE `t_contact` SET `c_phonenumber` = REPLACE(UPPER(`c_phonenumber`),'A','2');
UPDATE `t_contact` SET `c_phonenumber` = REPLACE(UPPER(`c_phonenumber`),'B','2');
UPDATE `t_contact` SET `c_phonenumber` = REPLACE(UPPER(`c_phonenumber`),'C','2');
3号:
UPDATE `t_contact` SET `c_phonenumber` = REPLACE(UPPER(`c_phonenumber`),'D','3');
UPDATE `t_contact` SET `c_phonenumber` = REPLACE(UPPER(`c_phonenumber`),'E','3');
UPDATE `t_contact` SET `c_phonenumber` = REPLACE(UPPER(`c_phonenumber`),'F','3');
等等...