#### mysql中模糊查詢的四種用法介紹
* * * * *
下面介紹mysql中模糊查詢的四種用法:
1,`%`:表示任意0個或多個字符。可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百分號(`%%`)表示。
比如:
~~~
SELECT * FROM [user] WHERE u_name LIKE '%三%' ;
~~~
將會把u_name為“張三”,“張貓三”、“三腳貓”,“唐三藏”等等有“三”的記錄全找出來。
另外,如果需要找出u_name中既有“三”又有“貓”的記錄,請使用and條件
~~~
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%貓%';
~~~
若使用
~~~
SELECT * FROM [user] WHERE u_name LIKE '%三%貓%';
~~~
雖然能搜索出“三腳貓”,但不能搜索出符合條件的“張貓三”。
2,`_`: 表示任意單個字符。匹配單個任意字符,它常用來限制表達式的字符長度語句:
比如
~~~
SELECT * FROM [user] WHERE u_name LIKE '_三_'
~~~
只找出“唐三藏”這樣u_name為三個字且中間一個字是“三”的;
再比如
~~~
SELECT * FROM [user] WHERE u_name LIKE '三__';
~~~
只找出“三腳貓”這樣name為三個字且第一個字是“三”的;
3,`[ ]`:表示括號內所列字符中的一個(類似正則表達式)。指定一個字符、字符串或范圍,要求所匹配對象為它們中的任一個。
比如
~~~
SELECT * FROM [user] WHERE u_name LIKE '[張李王]三' 將找出“張三”、“李三”、“王三”(而不是“張李王三”);
~~~
如` [ ]` 內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-e”
~~~
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]' ;
~~~
將找出“老1”、“老2”、……、“老9”;
4,`[^ ]` :表示不在括號所列之內的單個字符。其取值和 `[]` 相同,但它要求所匹配對象為指定字符以外的任一個字符。
比如:
~~~
SELECT * FROM [user] WHERE u_name LIKE '[^張李王]三'
~~~
將找出不姓“張”、“李”、“王”的“趙三”、“孫三”等;
~~~
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
~~~
將排除“老1”到“老4”,尋找“老5”、“老6”、……
5,查詢內容包含通配符時
由于通配符的緣故,導致我們查詢特殊字符`“%”`、`“_”`、`“[”`的語句無法正常實現,而把特殊字符用“`[ ]`”括起便可正常查詢。據此我們寫出以下函數:
~~~
function sqlencode(str)
str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
~~~
* * * * *
http://www.jb51.net/article/48315.htm
- 目錄
- 數據庫表
- 13.7.5.6 SHOW COLUMNS Syntax
- Mysql生成列
- 表注釋
- 默認字符集
- 索引
- 外鍵約束
- 數據類型
- NULL
- 查詢語句
- IF
- CASE
- FIND_IN_SET
- 更新語句
- 復制更新
- 截取更新
- 插入語句
- 從一張表查詢一個字段值插入另一個表中
- 統計函數
- COUNT
- 分組統計
- 日期時間字段按照日期分組
- GROUP_CONCAT
- 多字段關聯
- LENGTH
- mb_strlen()
- SUM
- 按周,按月,按日分組統計數據
- 日期時間
- MySQL日期時間數據類型使用總結
- 計算日期差
- 插入當前日期時間
- 時間比較
- datetime
- 日期時間取時間段
- 統計
- 整型unix時間戳
- 計算兩條相鄰記錄的時間差
- 日期時間-函數
- 常用函數
- CURDATE
- DATEDIFF
- DATE_ADD
- DATE_SUB
- EXTRACT
- NOW
- TO_DAYS
- UNIX_TIMESTAMP
- 作為時間比較
- FROM_UNIXTIME
- DATE_FORMAT
- TIMESTAMPDIFF
- 觸發器
- 存儲過程
- MySQL存儲過程的基本函數
- 分頁存儲過程
- 存儲過程教程
- 臨時表
- 備份表
- CRM
- 客戶關系表
- 通訊錄
- SQL函數
- ISNULL
- IFNULL
- SUBSTR
- 模糊查詢
- JSON
- Json函數
- Json數據類型
- 使用Json
- 使用navicat
- 虛擬列
- CRUD
- 索引設計
- 增加多字段索引
- 共享排他鎖