赞
踩
MySQL适应Henry Spencer实现的正则表达式。MySQL允许您使用REGEXP运算符在SQL语句中匹配模式。
以下说明REGEXP了WHERE 子句中运算符 的语法:
SELECT
column_list
FROM
table_name
WHERE
string_column REGEXP pattern;
此语句执行 string_column对pattern的模式匹配。
如果string_column匹配的值为WHERE子句中pattern的表达式返回true,否则返回false。
如果string_column或者pattern是NULL,结果是NULL。
除了REGEXP运算符之外,还可以使用RLIKE运算符,它是运算符的同义词REGEXP。
REGEXP的否定形式是NOT REGEXP。
假设您要查找姓氏以字符A,B或C开头的所有产品。您可以在以下SELECT语句中使用正则表达式:
SELECT
productname
FROM
products
WHERE
productname REGEXP '^(A|B|C)'
ORDER BY productname;
如果想REGEXP在大小写敏感的方式比较字符串,则可以使用二进制运算符来投一个字符串转换为二进制字符串。
因为MySQL逐字节而不是逐字符地比较二进制字符串。这允许字符串比较区分大小写。
例如,以下语句仅匹配"C"产品名称开头的大写。
SELECT
productname
FROM
products
WHERE
productname REGEXP BINARY '^C';
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。