正则表达式语法滥用

时间:2016-10-06 15:03:13

标签: regex postgresql

我正在运行此查询:

Select column_name
from table
where column_name ~ '%[A-Za-z]%'
group by column_name

但我没有得到任何结果。我做错了什么?

目标:这是一个包含电话号码的列。我试图找到包含字符串字符的任何值。

我不明白为什么ilike不支持正则表达式 这就是我找到的here

  

运算符~~等同于LIKE,~~ *对应于ILIKE。还有!~~和!~~ *运算符分别代表NOT LIKE和NOT ILIKE。所有这些运算符都是PostgreSQL特有的。

这是不是意味着我可以使用~~ *?

来使用ilike

编辑:到目前为止我学到了什么

  1. 不要使用,请使用tilda。
  2. Where column_name ~ '%[A]%'
  3. Where column_name ~ $$[A]$$确实有用。
  4. 理论:它与美元符号或撇号有关。 结果:这是%标志。

1 个答案:

答案 0 :(得分:1)

根据RegexBuddyWHERE子句的正确语法是:

WHERE mycolumn ~ $$[A-Z]$$