如何找出特殊字符与具有相同特殊字符的格式类型不匹配的记录?

时间:2019-05-01 14:41:01

标签: sql postgresql zip postgis street-address

我正在使用SQL在邮政编码列上查询,以检查列邮政编码中的哪些记录与like子句的格式不匹配。

我尝试查找与格式匹配的记录数。然后,我尝试了哪些压缩记录中带有连字符或“-”。数量不同。

我想找出哪些记录是带有连字符'-'且与XXXXX-XXXX格式不匹配的记录。

此外,我认为'^'取反符号在这里不起作用,因为它不在方括号'[]'中。尝试过但没有用

我尝试过的查询:

从zipcode_table中选择count(*),其中zipcode_column类似于'%-%'

从ziptable中选择count(*),其中zipcode_column类似于“ _____-____”

2 个答案:

答案 0 :(得分:1)

您似乎想要:

oauth_token

您可能真的想检查其他位置的数字:

oauth_secret

答案 1 :(得分:1)

SELECT
    COUNT(*) AS all,
    COUNT(*) FILTER (WHERE zipcode LIKE '_____-____') AS correct_format,
    COUNT(*) FILTER (WHERE zipcode LIKE '%-%' AND zipcode NOT LIKE '_____-____') AS incorrect_format,
    COUNT(*) FILTER (WHERE zipcode NOT LIKE '%-%') AS no_hyphen
FROM zipcode