Sql-like-clause
提供:Dev Guides
SQL-LIKE句
SQL LIKE 句は、ワイルドカード演算子を使用して値を同様の値と比較するために使用されます。 LIKE演算子とともに使用されるワイルドカードは2つあります。
- パーセント記号(%) *アンダースコア(_)
パーセント記号は、0、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部分を示すいくつかの例があります-
Sr.No. | Statement & Description |
---|---|
1 |
200で始まる値を検索します。 |
2 |
WHERE SALARY LIKE '%200%' 任意の位置に200がある値を検索します。 |
3 |
WHERE SALARY LIKE '_00%' 2番目と3番目の位置に00がある値を検索します。 |
4 |
WHERE SALARY LIKE '2_%_%' 2で始まり、長さが3文字以上の値を検索します。 |
5 |
WHERE SALARY LIKE '%2' 2で終わる値を検索します。 |
6 |
WHERE SALARY LIKE '_2%3' 2番目の位置に2があり、3で終わる値を検索します。 |
7 |
WHERE 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 |
+----+----------+-----+-----------+----------+
以下は、SALARYが200で始まるCUSTOMERSテーブルのすべてのレコードを表示する例です。
SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
これは、次の結果を生成します-
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+