0

非常像 MySQL 菜鸟,所以如果我问一个明显的问题,请原谅我。

我的问题是我必须将电话号码从文本字段转换为整数。文本字段一直是自由文本,因此用户可以输入他们想要的内容。我已经处理了 90% 的行(空格、非 alpha 等),但我坚持翻译 0800“单词”——即 0800PHONEME 需要转换为 08007466363。我需要在0800 号码。

如果可能的话,我想在数据库级别执行此操作

请问有什么想法/建议吗?

谢谢

4

3 回答 3

0

我认为您最好的选择是使用 UDF(用户定义的函数)REGEXP_REPLACE来查找和替换 alpha。

于 2013-02-19T23:06:13.337 回答
0

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');

等等...

于 2013-02-19T23:17:46.723 回答
0

我希望我有机会/时间来完成这个例子,但你应该明白:

http://sqlfiddle.com/#!2/73482/1

只需继续链接所有数字的替换功能。

于 2013-02-19T23:00:19.790 回答