- カテゴリ:
文字列とバイナリ関数 (マッチング/比較)
ILIKE ANY¶
1つ以上のパターンとの比較に基づいて、大文字と小文字を区別しない文字列の一致を許可します。
操作は LIKE
に似ています。入力文字列がいずれかのパターンに一致する場合、これは入力文字列を返します。
構文¶
<subject> ILIKE ANY (<pattern1> [, <pattern2> ... ] ) [ ESCAPE <escape_char> ]
引数¶
必須:
subject
パターンと比較する文字列です。
pattern#
文字列が比較されるパターンです。少なくとも1つのパターンを指定する必要があります。
オプション:
escape_char
ワイルドカードがワイルドカードとしてではなく、通常の文字として解釈されることを示すために、ワイルドカード文字の前に挿入される文字です。
戻り値¶
戻り値のデータ型は VARCHAR です。
使用上の注意¶
SQL ワイルドカードは
pattern
でサポートされています。アンダースコア(
_
)は、任意の1文字に一致します。パーセント記号(
%
)は、ゼロ個以上の文字のシーケンスに一致します。
pattern
のワイルドカードには、一致としてsubject
の改行文字(\n
)が含まれます。パターンが入力文字列(サブジェクト)全体と一致する場合、パターンは一致すると見なされます。文字列内の任意の場所のシーケンスに一致するには、パターンを
%
で開始および終了します(例:'%something%')。NULL は NULL と一致しません。つまり、サブジェクトが NULL で、パターンの1つが NULLの場合、それは一致とは見なされません。
関数がサブクエリで使用される場合、サブクエリは単一の行を返す必要があります。
例えば、サブクエリが単一の行を返す場合にのみ、次を使用する必要があります。
SELECT ... WHERE x ILIKE ANY (SELECT ...)
例¶
これは、 ILIKE ANYの使用方法を示しています。
いくつかの文字列を含むテーブルを作成します。
CREATE OR REPLACE TABLE ilike_example(subject varchar(20)); INSERT INTO ilike_example VALUES ('jane doe'), ('Jane Doe'), ('JANE DOE'), ('John Doe'), ('John Smith');SELECT * FROM ilike_example WHERE subject ILIKE ANY ('jane%', '%SMITH') ORDER BY subject; +------------+ | SUBJECT | |------------| | JANE DOE | | Jane Doe | | John Smith | | jane doe | +------------+
ワイルドカード文字の使用方法の例については、関連関数 LIKE ANY のドキュメントをご参照ください。