ワイルドカード演算子を使用して値を類似した値と比較するために使用されるSQL LIKE演算子について
SQLは、次の表で詳細に説明されているLIKE演算子と組み合わせて、二つのワイルドカード演算子をサポートしています。
パーセント記号(%)
一つ以上の文字に一致します。
注−MS Accessでは、パーセント記号(%)ワイルドカード文字の代わりにアスタリスク(*)ワイルドカード文字が使用されます。
アンダースコア(_)
1つの文字に一致します。注-MS Accessでは疑問符(?)が使用されます。)アンダースコア(_)の代わりに、任意の文字に一致します。
パーセント記号は、ゼロ、一つまたは複数の文字を表します。 アンダースコアは、単一の数字または文字を表します。 これらの記号は、組み合わせて使用することができます。
構文
‘%’と’_’演算子の基本的な構文は次のとおりです。
SELECT * FROM table_nameWHERE column LIKE 'XXXX%'or SELECT * FROM table_nameWHERE column LIKE '%XXXX%'orSELECT * FROM table_nameWHERE column LIKE 'XXXX_'orSELECT * FROM table_nameWHERE column LIKE '_XXXX'orSELECT * FROM table_nameWHERE column LIKE '_XXXX_'
AND演算子またはOR演算子を使用して、N個の条件を組み合わせることができます。 ここで、XXXXは任意の数値または文字列値にすることができます。
例
次の表は、’%’と’_’演算子を持つ異なるLIKE句を持つWHERE部分を示すいくつかの例を示しています。
ここで、SALARY LIKE’200%’
200で始まる任意の値を検索します。
ここで、SALARY LIKE’%200%’
は、任意の位置に200を持つ値を検索します。
ここで、SALARY LIKE’_00%’
は、2番目と3番目の位置に00を持つ値を検索します。
ここで、SALARY LIKE’2_%_%’
は、2で始まり、長さが3文字以上の値を検索します。
ここで、SALARY LIKE’%2′
は、2で終わる値を検索します。
ここで、SALARY LIKE’_2%3′
2番目の位置に2があり、3で終わる値を検索します。
ここで、SALARY LIKE’2___3′
は、2で始まり3で終わる5桁の値を検索します。
次のレコードを持つCUSTOMERSテーブルを考えてみましょう。
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Khilan | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | Chaitali | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+----------+-----+-----------+----------+
次のコードブロックは、給与が200で始まるCUSTOMERSテーブルのすべてのレコードを表示する例です。p>
SQL> SELECT * FROM CUSTOMERSWHERE SALARY LIKE '200%';
これは次の結果を生成します。
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 3 | kaushik | 23 | Kota | 2000.00 |+----+----------+-----+-----------+----------+