ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## LIKE条件

LIKE条件は、指定したパターンがCHARまたはVARCHAR式に含まれているかどうかを判断します。式にパターンが含まれている場合、条件はTRUEと評価されます。CHARおよびVARCHAR式は、LIKE条件でのみ有効です。次の項で説明するとおり、NCHARおよびNVARCHAR式もサポートされます。

SQL構文
Expression [NOT] LIKE
{'PatternString'| {? | :DynamicParameter}}
[ESCAPE {'EscapeChar' | {? | :DynamicParameter}} ]
パラメータ

Expression | 式の構文については、「式」を参照してください。LIKE条件では、CHARおよびVARCHAR式のみが有効です。
PatternString | 式から検索する文字列を指定します。パターンは文字（数字と特殊文字を含む）のみです。たとえば、NAME LIKE'Annie'は、空白を含まないAnnieという名前にかぎりTRUEと評価されます。大文字と小文字の区別は重要です。 条件のパターンに次の記号を使用して、部分一致をテストする条件を使用することもできます。 _ : 単一の文字を表します。 たとえば、BOBとTOMは、ともに条件NAME LIKE '_O_'の条件を満たします。 % : 0（ゼロ）文字以上の文字列を表します。 たとえば、MARIEとRENATEは、ともに条件NAME LIKE '%A%'の条件を満たします。 _と%記号は、パターンの中で自由に組み合せて繰り返し使用できます。なお、これらの記号をパターン内のリテラルとして使用するには、ESCAPE句を使用し、EscapeCharパラメータで定義したエスケープ文字を、それらの記号の前に指定する必要があります。
EscapeChar | パターン内の_と%記号をリテラルとして解釈させる場合に使用できる、オプションのエスケープ文字を定義します。 エスケープ文字は単一の文字である必要があります。エスケープ文字をパターンに使用する場合は、その後に続けてエスケープ文字自体、_記号または%記号と指定する必要があります。そのようなペアによって、パターンの2番目文字の単一リテラルの出現が表現されます。エスケープ文字では、大文字と小文字は常に区別されます。_または%をエスケープ文字として使用することはできません。
? :DynamicParameter | 準備されたSQL文の動的パラメータです。パラメータの値は、文の実行時に設定されます。

説明

- エスケープ文字を指定しない場合、パターンに含まれる_または%はワイルド・カード文字として解釈されます。エスケープ文字を指定した場合、それに後続するワイルド・カードまたはエスケープ文字はリテラルとして扱われます。エスケープ文字に後続する文字がワイルド・カードまたはエスケープ文字ではない場合、エラーになります。
- 式の値、パターン、エスケープ文字がNULLの場合、LIKE条件はNULLと評価され、行は処理されません。

##### 例12.15

先頭がAで始まる地域のベンダーを特定します。

    SELECT VendorName FROM Purchasing.Vendors
    WHERE VendorState LIKE 'A%';

    名前がACME_で始まるベンダー名（ESCAPE句の使用に注意）を特定します。

    SELECT VendorName FROM Purchasing.Vendors
    WHERE VendorName LIKE 'ACME!_%' ESCAPE '!';