- カテゴリ:
文字列とバイナリ関数 (マッチング/比較)
ILIKE¶
パターンとの比較に基づいて文字列の一致を許可します。LIKE 関数とは異なり、文字列の一致では大文字と小文字が区別されません。
LIKE、 ILIKE、 RLIKE は、すべて同様の操作を実行します。ただし、 RLIKE は、LIKE および ILIKE で使用される SQL パターン構文の代わりに POSIX EXE (拡張正規表現)構文を使用します。
構文¶
<subject> ILIKE <pattern> [ ESCAPE <escape> ]
ILIKE( <subject> , <pattern> [ , <escape> ] )
引数¶
必須:
subject
一致するサブジェクトです。
pattern
一致するパターンです。
オプション:
escape
ワイルドカードをワイルドカードとしてではなく通常の文字として解釈されることを示すために、ワイルドカード文字の前に挿入される文字です。
使用上の注意¶
SQL ワイルドカードは
pattern
でサポートされています。アンダースコア(
_
)は、任意の1文字に一致します。パーセント記号(
%
)は、ゼロ個以上の文字のシーケンスに一致します。
pattern
のワイルドカードには、一致としてsubject
の改行文字(\n
)が含まれます。ILIKE パターンマッチングは文字列全体をカバーします。文字列内の任意の場所でシーケンスを照合するには、パターンを
%
で開始および終了します。デフォルトのエスケープ文字はありません。
円記号をエスケープ文字として使用する場合、 ESCAPE 句で円記号のエスケープを指定する必要があります。例えば、次のコマンドは、エスケープ文字がバックスラッシュであることを指定し、そのエスケープ文字を使用してリテラルとして「%」を検索します(エスケープ文字なしでは、「%」はワイルドカードとして扱われます)。
'SOMETHING%' ILIKE '%\\%%' ESCAPE '\\';
エスケープ文字の使用例、特にエスケープ文字としてのバックスラッシュについては、 LIKE 関数 の例をご参照ください。
照合の詳細¶
Arguments with collation specifications are currently not supported.
例¶
CREATE OR REPLACE TABLE ilike_ex(subject varchar(20)); INSERT INTO ilike_ex VALUES ('John Dddoe'), ('Joe Doe'), ('John_down'), ('Joe down'), (null);SELECT * FROM ilike_ex WHERE subject ILIKE '%j%h%do%' ORDER BY 1; +-------------+ | SUBJECT | |-------------| | John Dddoe | | John_down | +-------------+SELECT * FROM ilike_ex WHERE subject ILIKE '%j%h%^_do%' ESCAPE '^' ORDER BY 1; +-----------+ | SUBJECT | |-----------| | John_down | +-----------+