SQLite經典教學課程登入
SQLite經典教學課程
作者:php.cn  更新時間:2022-04-13 17:05:02

SQLite Like 子句


SQLite 的 LIKE 運算子是用來匹配通配符指定模式的文字值。如果搜尋表達式與模式表達式匹配,LIKE 運算子將傳回真(true),也就是 1。這裡有兩個通配符與LIKE 運算子一起使用:

  • 百分號(%)

  • 下劃線(_)

百分號(%)代表零個、一個或多個數字或字元。底線(_)代表一個單一的數字或字元。這些符號可以被組合使用。

語法

%  與_ 的基本語法如下:

SELECT FROM table_name
WHERE column LIKE 'XXXX%'


or 

SELECT FROM table_name
WHERE column LIKE '%XXXX%'

or

#SELECT FROM table_name##PHEREcolumn
SELECT FROM table_name

or

SELECT FROM table_name
WHERE column LIKE '_XXXX'

or

#SELECT FROM table_name
WHEREXXXcolumn
SELECT FROM table_name

WHEREXXXcolumn

#SELECT_X

#您可以使用AND 或OR 運算子來結合N 個數量的條件。在這裡,XXXX 可以是任何數字或字串值。

實例下面一些實例示範了有'%' 和'_' 運算子的LIKE 子句不同的地方:語句描述WHERE SALARY LIKE '200%'找出以200 開頭的任意值WHERE SALARY LIKE '%200%'尋找任意位置包含200 的任意值WHERE SALARY LIKE '_00%'找出第二位和第三位為00 的任意值WHERE SALARY LIKE '2_%_%'查找以2 開頭,且長度至少為3 個字元的任意值WHERE SALARY LIKE '%2'找出以2 結尾的任意值 WHERE SALARY LIKE '_2%3'查找第二位為2,且以3 結尾的任意值WHERE SALARY LIKE '2___3'找出長度為5 位數,且以2 開頭以3 結尾的任意值
##########

讓我們舉一個實際的例子,假設COMPANY 表有以下記錄:

ID          NAME        AGE  -----  ----------  ----------  ----------
1           Paul        32       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

下面是一個實例,它顯示COMPANY 表中AGE 以2 開頭的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE  LIKE '2%';

這將產生以下結果:

ID          NAME        AGE       ------  ----------  ----------
2           Allen       25           Teddy       23          Norway      20000.0
4    Rich- Mond   65000.0
5           David       27     )10   Kim         22          South-Hall  45000.0
7      Houston     10000.0


#下方是實例,它顯示COMPANY 表中ADDRESS 文字裡包含一個連字符(-)的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  LIKE '%-%';

這將產生以下結果:

ID          NAME        AGE          且-------- -------  ----------

4           Mark        25                  22          South-Hall  45000.0




########################################################## ########