WHERE子句中可以使用等號 =來設定獲取數(shù)據(jù)的條件,如 t.url = 'https://www.taobao.com'。
但是有時候我們需要獲取url 字段含有"com"字符的所有記錄,這時我們就需要在 WHERE 子句中使用 SQLLIKE 子句。
SQL LIKE 子句中使用百分號%字符來表示任意字符,類似于UNIX或正則表達式中的星號 *。
如果沒有使用百分號 %, LIKE 子句與等號 = 的效果是一樣的。
-> SELECT t.field1, t.field2,...t.fieldN
-> FROM table_name t
-> WHERE t.field1 LIKE condition1 [AND [OR]] t.filed2 = 'somevalue'
- 你可以在
WHERE子句中指定任何條件。- 你可以在
WHERE子句中使用LIKE子句。- 你可以使用
LIKE子句代替等號=。LIKE通常與%一同使用,類似于一個元字符的搜索。- 你可以使用
AND或者OR指定一個或多個條件。- 你可以在
DELETE或UPDATE命令中使用WHERE...LIKE子句來指定條件。
在WHERE LIKE的條件查詢中,SQL 提供了四種匹配方式。
%:表示任意 0 個或多個字符??善ヅ淙我忸愋秃烷L度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。_:表示任意單個字符。匹配單個任意字符,它常用來限制表達式的字符長度語句。[]:表示括號內(nèi)所列字符中的一個(類似正則表達式)。指定一個字符、字符串或范圍,要求所匹配對象為它們中的任一個。[^]:表示不在括號所列之內(nèi)的單個字符。其取值和[]相同,但它要求所匹配對象為指定字符以外的任一個字符。- 查詢內(nèi)容包含通配符時,由于通配符的緣故,導致我們查詢特殊字符
%、_、[的語句無法正常實現(xiàn),而把特殊字符用“[ ]”括起便可正常查詢。
LIKE 匹配/模糊匹配,會與 % 和_ 結合使用。
'%a' //以a結尾的數(shù)據(jù)
'a%' //以a開頭的數(shù)據(jù)
'%a%' //含有a的數(shù)據(jù)
'_a_' //三位且中間字母是a的
'_a' //兩位且結尾字母是a的
'a_' //兩位且開頭字母是a的