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';

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

SQLite

示例2:

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

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

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

SQLite