部分文字列と文字列を一致させるには、パーセント記号のワイルドカードを使用します (%expression)。たとえば、SELECT ... WHERE Description SIMILAR TO 'car' は car にのみ一致し、sportscar には一致しません。一方、SELECT ... WHERE Description SIMILAR TO '%car' は、car や sportscar など、car で終わるすべての文字列に一致します。
部分文字クラスのみに一致させる場合は、外側の角カッコと、部分文字クラス用の角カッコを使用する必要があります。たとえば、expression SIMILAR TO '[[:digit:]]' のように指定します。
文字列単位で比較する等価演算子 (=) やその他の演算子とは異なり、比較が文字単位で実行されます。たとえば、UCA 照合 (照合が UCA に設定された CHAR または NCHAR) で比較が行われる場合、'Æ'='AE' は true ですが、'Æ' SIMILAR TO 'AE' は false です。
文字単位で比較して一致するには、検索される式に含まれる各文字が、SIMILAR TO パターンに含まれる 1 文字またはワイルドカード文字に一致する必要があります。
SIMILAR TO 探索条件は、CHAR と NCHAR の文字列の比較に使用できます。この場合、共通データ型を使用して比較が行われるように、文字セット変換が実行されます。次に、文字単位の比較が実行されます。
引用符で囲んだ値の前に N を付けることによって (たとえば、expression SIMILAR TO N'pattern')、expression または pattern を NCHAR 文字列リテラルとして指定できます。また、CAST 関数を使用して、CHAR または NCHAR にパターンをキャストすることもできます (たとえば、expression SIMILAR TO CAST(pattern AS datatype))。