現在、次のクエリがあります。
select regexp_matches(name, 'foo') from table;
正規表現が次のような場所にあるようにこれを書き換えるにはどうすればよいですか(動作していません):
select * from table where regexp_matches(name, 'foo');
現在のエラーメッセージは次のとおりです。エラー:WHEREの引数は、text []型ではなく、boolean型でなければなりませんSQL状態:42804文字:29
代わりに書く:
select * from table where name ~ 'foo'
「〜」演算子は、一致するサブグループを抽出するのではなく、正規表現が一致するかどうかのブール結果を生成します。
そこに一致演算子を使用するだけです:
select * from table where name ~ 'foo';