Mysql那些事兒之(六)字符串模式匹配
相關鏈接:
Mysql那些事兒之(一)mysql的安裝
http://www.BkJia.com/database/201210/162314.html;
Mysql那些事兒之(二)有關數據庫的操作
http://www.BkJia.com/database/201210/162315.html;
Mysql那些事兒之(三)有關數據表的操作
http://www.BkJia.com/database/201210/162316.html;
Mysql那些事兒之(四)數據表數據查詢操作
http://www.BkJia.com/database/201210/162317.html;
Mysql那些事兒之(五)操作時間
http://www.BkJia.com/database/201210/162318.html
一、標准的SQL模式匹配
mysq的匹配模式可以使用“_”匹配任何單個字符,“%”來匹配任意數目的字符。
使用sql模式時,不能使用=或者!=,應該使用 LIKE 或者 NOT LIKE 比較操作符。
www.2cto.com
舉例:
1.在student表中找出以“b”開頭的名字。
SELECT * FROM student WHERE name LIKE "b%";
2.在student表中找出以“b”結尾的名字。
SELECT * FROM student WHERE name LIKE "%b";
3.在student表中找出包含“b”的名字。
SELECT * FROM student WHERE name LIKE "%b%";
4.在student表中找出正好5個字符的名字。
SELECT * FROM student WHERE name LIKE "_ _ _ _ _";(有空格是為了說明有5個“_”)
二、擴展正則表達式模式匹配
使用正則的話,就要使用別的比較操作符,這個別的操作符就是REGEXP或者 NOT REGEXP。
擴展正則表達式的一些字符:
“.”匹配任何單個的字符。
“*”匹配零個或多個在它前面的字符。
“X*”匹配任何數量的X字符。
正則表達式是區分大小寫的,可以使用一個字符類匹配兩種寫法。[aA]匹配小寫和大寫的A。
“^”表示以什麼開頭,“$”表示以什麼結尾。
www.2cto.com
舉例:
1.在student表中找出以“b”開頭的名字。
SELECT * FROM student WHERE name REGEXP "^[bB]";
2.在student表中找出以“b”結尾的名字。
SELECT * FROM student WHERE name REGEXP "[bB]$";
3.在student表中找出包含“b”的名字。
SELECT * FROM student WHERE name REGEXP "[bB]";
4.在student表中找出正好5個字符的名字。
SELECT * FROM student WHERE name REGEXP "^_ _ _ _ _$";(有空格是為了說明有5個“_”)