T-SQL-LIKE句
MS SQL Server LIKE句は、ワイルドカード演算子を使用して値を類似の値と比較するために使用されます。LIKE演算子と組み合わせて使用される2つのワイルドカードがあります-
- パーセント記号(%)
- アンダースコア(_)
パーセント記号は、0文字、1文字、または複数文字を表します。アンダースコアは、単一の数字または文字を表します。記号は組み合わせて使用できます。
構文
以下は、%と_の基本的な構文です。
SELECT *\column-list FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT *\column-list FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '_XXXX_'
ANDまたはOR演算子を使用して、N個の条件を組み合わせることができます。XXXXは、任意の数値または文字列値にすることができます。
例
以下は、 '%'および '_'演算子を使用した異なるLIKE句を持つWHERE部分を示すいくつかの例です。
シニア番号 | ステートメントと説明 |
---|---|
1 | WHERE SALARY LIKE '200%' 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テーブルのすべてのレコードを表示します。
SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
上記のコマンドは、次の出力を生成します。
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
3 kaushik 23 Kota 2000.00