PostgreSQL の正規表現 LIKE 句: LIKE と ~ 演算子の使用
PostgreSQL では、正規表現を利用して特定のパターンを検索できますデータ内で。ただし、式で問題が発生した場合は、ニュアンスと制限を理解することが重要です。
課題: 3 番目の文字が一致しません
次のクエリを考えてみましょう。 :
3 番目の文字が '0' である値を除外する意図にもかかわらず、これはクエリはその基準に一致しません。代わりに、「00」で始まる任意の値と一致します。
解決策: ~ 演算子の使用
括弧式を効果的に利用するには、正規表現演算子を使用する必要があります。 ~:
^ ... は文字列の先頭を示し、パターンが一致する部分のみを保証します。 begin.
1 ... '0' 以外に一致する文字クラスを表します。
最適化されたアプローチ
最適なパフォーマンスを得るには、クエリを 2 つの LIKE に分割することを検討してください。式:
LIKE は正規表現よりも強力ではありませんが、通常は高速です。経済的な LIKE 式で候補を制限することで、全体的なクエリ速度が向上します。
さらに、PostgreSQL のインデックスを利用できるため、値 LIKE '00%' のような左アンカー式を利用することが重要です。これは大きなテーブルの場合に特に有益ですが、より複雑な正規表現ではインデックス作成がサポートされない可能性があります。
以上がPostgreSQL の文字列マッチング: 正規表現クエリを効率的にするには LIKE と ~ のどちらがよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。