PostgreSQLで大文字小文字を区別せずに検索するILIKEの使い方

PostgreSQL

PostgreSQLで文字列検索を行う際、大文字と小文字を区別せずにパターンマッチングを行いたい場合があります。この記事では、ILIKE演算子の使い方とその特徴について詳しく解説します。

ILIKEとは何か

ILIKEはPostgreSQLで提供される演算子で、LIKEと同じパターンマッチング機能を持ちながら、大文字と小文字を区別せずに比較を行うことができます。

基本構文は次の通りです。
SELECT * FROM テーブル名 WHERE カラム名 ILIKE ‘パターン’;

使用例

例えば、名前カラムに”Alice”や”ALICE”が含まれるレコードを検索したい場合、次のように記述します。
SELECT * FROM users WHERE name ILIKE ‘alice’;

このクエリは”Alice”、”ALICE”、”alice”など、大文字小文字の違いに関係なくマッチします。

ILIKEとLIKEの違い

LIKE演算子はデフォルトで大文字と小文字を区別します。例えば、SELECT * FROM users WHERE name LIKE ‘alice’;は小文字”alice”のみがマッチし、”Alice”や”ALICE”は除外されます。

そのため、ケースインセンシティブ検索が必要な場合はILIKEを使用するのが便利です。

ワイルドカードとの組み合わせ

ILIKEは%や_などのワイルドカードと組み合わせて使用できます。%は任意の文字列、_は任意の1文字を表します。

例えば、SELECT * FROM users WHERE name ILIKE ‘a%’;は、”Alice”や”alex”など、aで始まる全ての文字列にマッチします。

まとめ

PostgreSQLで大文字小文字を区別せずに検索したい場合、ILIKEを使用することで簡単にケースインセンシティブなパターンマッチングが可能です。LIKEとの違いを理解し、適切な場面で使い分けましょう。

コメント

タイトルとURLをコピーしました