SQLite LIKE子句


SQLite LIKE運算子用於使用萬用字元將文字值與模式進行匹配。 在搜尋表示式與模式表示式匹配的情況下,LIKE運算子將返回真,即:1

LIKE操作符一起使用的兩個萬用字元:

  • 百分號()
  • 下劃線(_)

百分號()表示零個,一個或多個數位或字元。 下劃線(_)表示一個數位或字元。

語法

SELECT FROM table_name  
WHERE column LIKE 'XXXX%'

或者

SELECT FROM table_name  
WHERE column LIKE '%XXXX%'

或者

SELECT FROM table_name  
WHERE column LIKE 'XXXX_'

或者

SELECT FROM table_name  
WHERE column LIKE '_XXXX'

或者

SELECT FROM table_name  
WHERE column LIKE '_XXXX_'

這裡,XXXX可以是任何數位或字串值。

範例:

假設有一個名為STUDENT的表,並具有以下資料:

sqlite> SELECT * FROM STUDENT ;
1|Maxsu|27|Shengzheng|20000.0
2|Minsu|25|Beijing|15000.0
3|Avgsu|23|Shanghai|2000.0
4|Linsu|25|Guangzhou|65000.0
5|Sqlsu|26|Hainan|25000.0
6|Javasu|21|Shengzheng|18000.0
sqlite>

在這些範例中,在WHERE語句的LIKE子句中,在’FEES‘欄位上使用’‘和’_‘運算子,對應結果如下:

語句 結果說明
Where FEES like '200%' 查詢以200開頭的任何值
Where FEES like '%200%' 查詢包含200開頭的任何值
Where FEES like '_00%' 查詢第二個位置和第三個位置是0的任何值
Where FEES like '2_%_%' 查詢以2開頭並且長度至少為3個字元的值
Where FEES like '%2' 查詢以2結尾的任何值
Where FEES like '_2%3' 查詢任何在第二個位置值為2,並以3結尾的值
Where FEES like '2___3' 查詢以2開頭,以3結尾的一個五位數位值

範例1:

STUDENT表中查詢age5結尾的所有記錄。

SELECT * FROM STUDENT WHERE AGE  LIKE '%5';

執行上面語句,得到以下結果 -

範例2:

STUDENT表中查詢地址值具有「an」字元的所有記錄:

SELECT * FROM STUDENT WHERE ADDRESS LIKE '%an%';

執行上面語句,得到以下結果 -