2016-10-06 18 views
0

私はこのクエリを実行しています。私は間違って何をしていますか?正規表現構文は誤用

ゴール:電話番号を含む列です。私は文字列を含む値を見つけることを試みています。

私はiLikeの正規表現 をサポートしていない理由は、私がhere

オペレータ見つけたものであることを理解していない~~ LIKEと同等であり、~~ * ILIKEに対応しています。 NOT LIKEとILIKEをそれぞれ表す!~~および!~~ *演算子もあります。これらの演算子はすべてPostgreSQL固有です。

これは、~~ *を使用してilikeを使用できますか?

編集:私はこれまで

  1. を学んできたことは、使用のティルダ、同様に使用しないでください。
  2. Where column_name ~ '%[A]%'
  3. Where column_name ~ $$[A]$$が機能します。

理論:これはドル記号やアポストロフィで何かを持っています。 結果:%記号でした。

+2

'ILIKE'は、正規表現をサポートしていない - それだけでLIKE'がサポート'ワイルドカードをサポートしています。正規表現に '〜'演算子を使用したい場合。詳細は、マニュアルを参照してください。https://www.postgresql.org/docs/current/static/functions-matching.html#FUNCTIONS-LIKE –

+0

ありがとうございます。私は今何をしているのかを反映するために投稿を編集しました。 – LunchBox

答えて

1

RegexBuddyによると、WHERE句の正しい構文は次のとおりです。

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

それは働いた!!!!私はあなたが私に与えたものから誤ってクエリを入力しました。私の間違いです。私は%記号を残しました。 – LunchBox

+0

小文字が問題であれば、 '〜 '[A-Za-z]''を使って数字以外のものを探し、 '〜 '[^ 0-9]'' –