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
表中查詢age
以5
結尾的所有記錄。
SELECT * FROM STUDENT WHERE AGE LIKE '%5';
執行上面語句,得到以下結果 -
示例2:
從STUDENT
表中查詢地址值具有「an
」字符的所有記錄:
SELECT * FROM STUDENT WHERE ADDRESS LIKE '%an%';
執行上面語句,得到以下結果 -