MySQL - 将手机字转换为数字

时间:2013-02-19 22:31:38

标签: mysql

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

我的问题是我必须将电话号码从文本字段转换为整数。文本字段始终是自由文本,因此用户可以输入他们想要的内容。我已经处理了90%的行(空格,非alpha等)但我仍然坚持翻译0800'单词' - 即0800PHONEME需要转换为08007466363.我需要翻译后最多10个字母0800号码。

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

有任何想法/建议吗?

由于

3 个答案:

答案 0 :(得分:0)

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

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

只需为所有数字保持链接替换功能。

答案 1 :(得分:0)

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

答案 2 :(得分: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');

依旧......