使用關鍵字 REGEXP
基本字符匹配
查找prod_name中包含1000的記錄
SELECT prod_name FROM products WHERE prod_name REGEXP '1000' ORDER BY prod_name;
使用通配符
使用.
匹配一個字符
查找prod_name中包含000的記錄
SELECT prod_name FROM products WHERE prod_name REGEXP '.000' ORDER BY prod_name;
匹配區分大小寫
MySQL中正則表達式匹配不區分大小寫,為區分大小寫可使用BINARY關鍵字
SELECT prod_name FROM products WHERE prod_name REGEXP BINARY 'JetPack .000' ORDER BY prod_name;
進行OR匹配
查找prod_name中包含1000或2000的記錄。
SELECT prod_name FROM products WHERE prod_name REGEXP '1000|2000' ORDER BY prod_name;
匹配幾個字符之一
查找prod_name中包含1 Ton或2 Ton 或3 Ton的記錄
SELECT prod_name FROM products WHERE prod_name REGEXP '[123] Ton' ORDER BY prod_name;
[^123] Ton
匹配除[]中這些字符外的任何東西,跟[123]
正好相反。
匹配范圍
匹配數字0-9,寫為[0123456789],為簡化可寫完[0-9]
SELECT prod_name FROM products WHERE prod_name REGEXP '[0-9] Ton' ORDER BY prod_name;
轉義
匹配 .
、[]
、|
和-
等。
匹配prod_name包含.的記錄
SELECT prod_name FROM products WHERE prod_name REGEXP '\\.' ORDER BY prod_name;
引用元字符
使用\\
引用元字符