Contents
LIKE演算子
ワイルドカード演算子を使用して類似の値と値を比較するために使用されるSQL LIKE演算子については既に説明しました。
SQLは、LIKE演算子と組み合わせて2つのワイルドカード演算子をサポートしています。これらの演算子については、次の表で詳しく説明します。
Sr.No. | ワイルドカードと説明 |
---|---|
1 | パーセント記号(%)
1つ以上の文字と一致します。 注 – MS Accessは、パーセント記号(%)ワイルドカード文字の代わりにアスタリスク(*)ワイルドカード文字を使用します。 |
2 | アンダースコア(_)
1文字に一致します。 注 – MS Accessは、アンダースコア(_)の代わりに疑問符(?)を使用して、任意の1文字に一致させます。 |
パーセント記号は、ゼロ、1つまたは複数の文字を表します。アンダースコアは単一の数字または文字を表します。これらのシンボルは組み合わせて使用できます。
構文
‘%’と ‘_’演算子の基本的な構文は次のとおりです。
SELECT FROM table_name WHERE column LIKE 'XXXX%' or SELECT FROM table_name WHERE column LIKE '%XXXX%' or SELECT FROM table_name WHERE column LIKE 'XXXX_' or SELECT FROM table_name WHERE column LIKE '_XXXX' or SELECT FROM table_name WHERE column LIKE '_XXXX_'
AND演算子またはOR演算子を使用してN個の条件を組み合わせることができます。XXXXには、任意の数値または文字列値を使用できます。
例
次の表には、 ‘%’と ‘_’演算子を持つ異なるLIKE句を持つWHERE部分を示すいくつかの例があります。
実際の例を考えてみましょう。次のレコードを持つCUSTOMERSテーブルを考えてみましょう。
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | kodak | 32 | Ahmedabad | 2000.00 | | 2 | nikon | 25 | Delhi | 1500.00 | | 3 | suzuki | 23 | Kota | 2000.00 | | 4 | nissan | 25 | Mumbai | 6500.00 | | 5 | tometo | 27 | Bhopal | 8500.00 | | 6 | nakag | 22 | MP | 4500.00 | | 7 | toshiki | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
以下のコード・ブロックは、SALARYが200で始まるCUSTOMERS表のすべてのレコードを表示する例です。
SQL> SELECT * FROM CUSTOMERS WHERE SALARY LIKE '200%';
これにより、次の結果が得られます。
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | kodak | 32 | Ahmedabad | 2000.00 |
| 3 | suzuki | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+