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%';
執行上面語句,得到以下結果 -