【发布时间】:2017-07-21 00:55:23
【问题描述】:
我有一张放着电话号码的大桌子。电话号码都是字符串,应该是“+9628789878”或类似的。 (“+”号后跟 9 到 13 位数字。)
一个用户错误发现了一行字符串“+987+9873678298”。显然它不应该存在,我想知道还有多少其他情况是此类错误或其他此类错误。
我试过这个查询,但它没有做这项工作。我的想法是任何不像这个字符串的东西。 (哦,该表没有按 phone_number 索引。)
SELECT user_key,
first_name,
last_name,
phone_number
FROM users u
WHERE regexp_like(phone_number, '[^\+[0-9]*]')
AND phone_number IS NOT NULL
【问题讨论】:
-
不相关,但是:
phone_number IS NOT NULL是不必要的,因为 NULL 值无论如何都无法通过regexp_like。