PostgreSQL での大文字と小文字を区別しない文字列比較
PostgreSQL では、大文字と小文字を区別しない文字列比較の実行は、多くのシナリオで不可欠です。 like 演算子と ilike 演算子は単一の値に使用できますが、セットには拡張できません。
この制限に対処するために、PostgreSQL では大文字と小文字を区別しない文字列比較のための次のオプションが提供されています。
1. ilike 演算子の使用:
ilike 演算子は like に似ていますが、大文字と小文字を区別しない比較を実行します。次のように使用できます:
select * where email ilike '[email protected]'
2.特殊文字のエスケープ:
文字列内の特殊文字を含む ilike 演算子を使用する場合、それらを正しくエスケープすることが重要です。これは、 replace() 関数を使用して実現できます。
where email ilike replace(replace(replace(, '~', '~~'), '%', '~%'), '_', '~_') escape '~'
または、テキストをエスケープするカスタム関数を作成できます。
3.配列との比較:
文字列の配列と比較する必要がある場合は、any 演算子を使用できます:
where email ilike any(array['[email protected]', '[email protected]'])
これらのテクニックを利用することで、効率的に case を実行できます。 PostgreSQL での、単一の値と値のセットの両方に対する -insensitive 文字列比較。
以上がPostgreSQL で大文字と小文字を区別しない文字列比較を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。