sql語句中使用like匹配字段內容

2021-05-25 13:17:38 字數 1220 閱讀 4520

_     -----------------------(下劃線)與任意單字元匹配。

%    -----------------------與包含乙個或多個字元的字串匹配。

----------------------與特定範圍(例如,[a-f])或特定集(例如,[abcdef])中的任意單字元匹配。

[^]    -----------------------與特定範圍(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意單字元匹配。

a、like 'mc%' 將搜尋以字母 mc 開頭的所有字串(如 mcbadden)。

b、like '%inger' 將搜尋以字母 inger 結尾的所有字串(如 ringer、stringer)。

c、like '%en%' 將搜尋在任何位置包含字母 en 的所有字串(如 bennet、green、mcbadden)。

d、like '_heryl' 將搜尋以字母 heryl 結尾的所有六個字母的名稱(如 cheryl、sheryl)。

e、like '[ck]ars[eo]n' 將搜尋下列字串:carsen、karsen、carson 和 karson(如 carson)。

f、like '[m-z]inger' 將搜尋以字串 inger 結尾、以從 m 到 z 的任何單個字母開頭的所有名稱(如 ringer)。

g、like 'm[^c]%' 將搜尋以字母 m 開頭,並且第二個字母不是 c 的所有名稱(如macfeather)。

例子:

...  where username like '_yin'  ---------------可以找到所有三個字母的、以 yin 結尾的名字(例如,jalonyin、honyin)。

...  where username like '%stein'  ---------------可以找到姓以 stein 結尾的所有使用者名稱。

...  where username like '%stein%'  ----------------可以找到姓中任意位置包括 stein 的所有使用者名稱。

...  where username like '[jt]im'  -----------------可以找到三個字母的、以 im 結尾並以 j 或 t 開始的名字(即僅有 jim 和 tim)

...  where username like 'm[^c]%'  -----------------可以找到以 m 開始的、後面的(第二個)字母不為 c 的所有姓。

sql語句中關於like的使用

今天在專案中有個新的需求 當我傳引數的時候,傳入的引數為空的時候,查詢所有資料。當傳入引數不為空的時候,按照輸入的引數查詢條件進行查詢。這個時候自己本來想著decode函式,後來經歷教使用like用法,模糊查詢 select b.select count 1 from options a where...

SQL使用LIKE匹配

與任意單字元匹配 與包含乙個或多個字元的字串匹配 與特定範圍 例如,a f 或特定集 例如,abcdef 中的任意單字元匹配。與特定範圍 例如,a f 或特定集 例如,abcdef 之外的任意單字元匹配。a like mc 將搜尋以字母 mc 開頭的所有字串 如 mcbadden b like in...

SQL語句like子句中的轉義符

如果想在sql like裡查詢有下劃線 或是 等值的記錄,直接寫成like xx 則會把 當成是like的萬用字元。sql裡提供了 escape子句來處理這種情況,escape可以指定like中使用的轉義符是什麼,而在轉義符後的字元將被當成原始字元,這和c裡的 很像,但是escape要求自定義乙個轉...