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