Sqlite-like-clause
SQLite-LIKE句
SQLite LIKE 演算子は、ワイルドカードを使用してテキスト値とパターンを照合するために使用されます。 検索式がパターン式と一致する場合、LIKE演算子はtrue、つまり1を返します。 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 |
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桁の数値の値を検索します |
実際の例を見てみましょう。次のレコードを持つCOMPANYテーブルを考えてみましょう。
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
以下は、AGEが2で始まるCOMPANYテーブルのすべてのレコードを表示する例です。
sqlite> SELECT *FROM COMPANY WHERE AGE LIKE '2%';
これにより、次の結果が生成されます。
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
以下は、ADDRESSのテキスト内にハイフン(-)が含まれるCOMPANYテーブルのすべてのレコードを表示する例です。
sqlite> SELECT* FROM COMPANY WHERE ADDRESS LIKE '%-%';
これにより、次の結果が生成されます。
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65000.0
6 Kim 22 South-Hall 45000.0