我希望找到不匹配的数据,其模式如下:
要做到这一点,我使用这个查询,但它似乎不起作用:
select distinct regexp_replace(phonenumber, '[0-9]', '')
from coord
where REGEXP_LIKE(phonenumber, '^[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}$')我做错什么了?
发布于 2012-06-27 11:46:07
假设您想搜索做的记录与您的模式匹配,只需将{*}替换为*:
SELECT DISTINCT regexp_replace(phonenumber, '[0-9]', '')
FROM coord
WHERE regexp_like(phonenumber,
'^[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*'
||'[0-9]{2}[ ./]*[0-9]{2}[ ./]*$')如果要选择不匹配的记录,则与此模式不匹配:
SELECT DISTINCT regexp_replace(phonenumber, '[0-9]', '')
FROM coord
WHERE NOT regexp_like(phonenumber,
'^[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*'
||'[0-9]{2}[ ./]*[0-9]{2}[ ./]*$')https://stackoverflow.com/questions/11225195
复制相似问题