カテゴリ:

文字列とバイナリ関数 (マッチング/比較)

CONTAINS

expr1expr2 が含まれる場合は、trueを返します。両方の式は、テキスト式またはバイナリ式でなければなりません。

ちなみに

検索最適化サービスを使用すると、この関数を呼び出すクエリのパフォーマンスを向上させることができます。詳細については、 検索最適化サービス をご参照ください。

構文

CONTAINS( <expr1> , <expr2> )
Copy

引数

expr1

検索する文字列です。

expr2

検索する文字列です。

戻り値

BOOLEAN を返します。 expr2 内に expr1 が見つかった場合、値はTrueです。いずれかの入力式が NULLの場合、 NULL を返します。それ以外の場合は、Falseを返します。

照合の詳細

The collation specifications of all input arguments must be compatible.

この関数は、次の照合仕様をサポートしません。

  • lower

  • upper

  • pi (句読点は区別しない)。

  • cs-ai (大文字と小文字は区別、アクセント記号は区別しない)。

SELECT * from strings;

---------+
    S    |
---------+
 coffee  |
 ice tea |
 latte   |
 tea     |
 [NULL]  |
---------+

SELECT * FROM strings WHERE CONTAINS(s, 'te');

---------+
    S    |
---------+
 ice tea |
 latte   |
 tea     |
---------+
Copy

次の例では、照合で CONTAINS を使用しています。

-- Should return True.
SELECT CONTAINS(COLLATE('ñn', 'sp'), COLLATE('n', 'sp'));
+---------------------------------------------------+
| CONTAINS(COLLATE('ÑN', 'SP'), COLLATE('N', 'SP')) |
|---------------------------------------------------|
| True                                              |
+---------------------------------------------------+
SELECT CONTAINS(COLLATE('ñn', 'sp'), 'n');
+------------------------------------+
| CONTAINS(COLLATE('ÑN', 'SP'), 'N') |
|------------------------------------|
| True                               |
+------------------------------------+
Copy