我需要检查电话号码列中的数据,以确保其格式为:
(XXX)XXX-XXXX
我已经知道有些行的条目格式不正确,例如: (123)456-7890 1234567890; 5678901223
我尝试了很多查询,但这感觉最接近,但仍然没有返回任何值:
SELECT * FROM table_name
WHERE telephone_number like '([000-9]) ([000-999])-([0000-9999])';
预先感谢您的帮助, 克里斯蒂
由于我们没有正则表达式,我可以提出一个丑陋的解决方案,直到有人有更好的想法吗?
SELECT * FROM table_name
WHERE REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
telephone_number, '0', 'X'
), '1', 'X'
), '2', 'X'
), '3', 'X'
), '4', 'X'
), '5', 'X'
), '6', 'X'
), '7', 'X'
), '8', 'X'
), '9', 'X'
) = '(XXX) XXX-XXXX';