假設我們要在中國的省級行政區域中找出四個直轄市,我們如何去做?因為4個直轄市是以「市」結尾的,這時就用模糊查詢來匹配。like操作符
like操作符通常與萬用字元結合在一起使用。萬用字元分兩種,%萬用字元與_萬用字元。
1. %萬用字元
%表示任何字元出現的任意次數。
2. _萬用字元
下劃線萬用字元只能匹配單個字元
例子
mysql> # 模糊查詢
mysql> # 在promary查詢所有的直轄市(使用%萬用字元)
mysql> select proid,proname from promary where proname like '%市';
+-------+-----------+
| proid | proname |
+-------+-----------+
| 1 | 北京市 |
| 2 | 天津市 |
| 3 | 上海市 |
| 4 | 重慶市 |
+-------+-----------+
4 rows in set (0.00 sec)
mysql> # 在promary查詢所有的直轄市(因為直轄市只有三個字,所有可以使用_萬用字元)
mysql> select proid,proname from promary where proname like '_
_市';# 這裡是兩個下劃線
+-------+-----------+
| proid | proname |
+-------+-----------+
| 1 | 北京市 |
| 2 | 天津市 |
| 3 | 上海市 |
| 4 | 重慶市 |
+-------+-----------+
4 rows in set (0.00 sec)
tips
萬用字元搜尋處理一般要比前面討論的其他搜尋所花時間更長。
不要過度使用萬用字元。
在確實需要萬用字元時,除非有必要,否則不要把它們用在搜尋模式的開始處。把萬用字元置於搜尋模式的開始處,搜尋起來是最慢的。
使用萬用字元的位置需要注意,不然可能得不到想要的值。
如果想看其他有關於mysql資料庫的文章,請跳轉到到mysql自學目錄
like 模糊查詢
sql 模糊查詢 逗號,在sql中like中不需要轉義,但是如果 在sql中的某個欄位值用 分隔資料,需要獲取資料的時候直接把 拆分成資料,獲得乙個資料的list。例如 需要查詢某欄位是否包含乙個值,111是否存在於1111,2111,1112,1121,1113這個欄位中 因為根據 逗號分開,要求...
like模糊查詢
逗號,在sql中like中不需要轉義,但是如果 在sql中的某個欄位值用 分隔資料,需要獲取資料的時候直接把 拆分成資料,獲得乙個資料的list。例如 需要查詢某欄位是否包含乙個值,111是否存在於1111,2111,1112,1121,1113這個欄位中 因為根據 逗號分開,要求的答案是 不在字段...
Oracle 模糊查詢like
在這個資訊量劇增的時代,如何幫助使用者從海量資料中檢索到想要的資料,模糊查詢是必不可少的。那麼在 中模糊查詢是如何實現的呢?一 我們可以在where子句中使用like關鍵字來達到oracle模糊查詢的效果 在where子句中,可以對datetime char varchar欄位型別的列用like關鍵...