【发布时间】:2015-11-19 22:20:26
【问题描述】:
我正在使用数据仓库,我需要从电话号码列中删除一堆案例,以便能够将其用作对另一个数据源的查找。数据的一些例子:
888-888-8888 ---> 应该是 888888888
(888) 888-8888 ---> 应该是 888888888
888.888.8888 ---> 应该是 888888888
888-888-888 分机 888 ---> 应该是 888888888
1-888-888-888 ---> 应该是 888888888
888 88 8888 888888 --->应该是888888888888888
我能够执行多个替换语句来摆脱简单的字符,如 -、.、(、)。我遇到问题的部分是删除'ext 888'和'1-',其中数字以'1-'(不包含)开头。 888 可以是任意数字,也可以是任意数量的数字。处理用户输入的信息和多个国家/地区。
有什么我可以用 SQL 编写的东西来完成最后两部分吗?
【问题讨论】:
-
trim 会删除前导空格,
upper(left(f,3)) = 'EXT'会告诉你它是否以它开头,或者你可以删除非数字。
标签: sql sql-server regex