比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
比如 SELECT * FROM [user] WHERE u_name LIKE '_你_'
比如 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”;
比如 SELECT * FROM [user] WHERE u_name LIKE '[^張李王]三' 將找出不姓“張”、“李”、“王”的“趙三”、“孫三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'; 將排除“老1”到“老4”,尋找“老5”、“老6”、……
MySQL中的正則表達式匹配不區分大小寫。
爲區分大小寫,可使用BINARY關鍵字。
如:WHERE prod_name REGEXP BINARY 'JetPack .000'
^的雙重用途:在集合中(用[ ]定義),用它來否定該集合。否則,用來指串的開始和。
LIKE 匹配整個串,而REGEXP匹配子串。
簡單的正則表達式測試 可以在不使用數據庫的情況下用SELECT來測試正則表達式。
REGEXP檢查總是返回0(沒有匹配)或1(匹配),可以用帶文字串的REGEXP來測
試表達式,並試驗它們。相應的語法如下:
SELECT 'hello' REGEXP '[0-9]'
這個例子返回0(因爲文本hello中沒有數字)。
[ ] 匹配任何單一字符。
[123]定義一組字符,意思是匹配1或2或3.
[ ]是另外一種形式的OR語句,[123] Ton 就是 [1 | 2 | 3] Ton 的縮寫。
^ 否定一個字符集合,將匹配除指定字符外的任何東西。[^123]將匹配除這些字符外的任何東西。
匹配範圍
[0123456789] 或 [0-9] 將匹配數字0到9
[a-z] 匹配任意字母符號
匹配特殊字符
\\ 爲前導。即轉義.正則表達式內具有特殊意義的所有字符都必須以這種方式轉義。
\\- 表示查找 -
\\. 表示查找 .
\\ 也用來引用元字符(具有特殊意義的字符)