使用关键字 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;
引用元字符
使用\\
引用元字符