如何替换表列中的所有特殊字符和空格?

时间:2014-11-17 08:59:06

标签: mysql

我有一张名为&#34的桌子;联系人"以下字段

id | phone_mobile

1  | 9988011223
2  | 00-12-123456
3  | 91-8876980987
4  | (91) 88990099777

我想要一个将返回输出

的选择查询
id | phone_mobile

1  | 9988011223
2  | 0012123456
3  | 918876980987
4  | 9188990099777

1 个答案:

答案 0 :(得分:3)

对于一组已知字符,您可以使用replace()函数将某些内容链接为

mysql> select replace(replace(replace('00-12-123456','-',''),'(',''),')','');
+----------------------------------------------------------------+
| replace(replace(replace('00-12-123456','-',''),'(',''),')','') |
+----------------------------------------------------------------+
| 0012123456                                                     |
+----------------------------------------------------------------+

所以在你的情况下它可能是

select 
id,
replace(replace(replace(replace(phone_mobile,'-',''),'(',''),')',''),' ','') as phone_mobile
from table_name

如果有一长串要替换的字符,那么最好使用应用程序级别来完成工作,因为替换的链接变得非常混乱。