SQL中使用正则表达式示例整理

-- 查询找到所有的名字以'门户'开头
SELECT rs.`name` FROM system_product_info rs WHERE rs.`name` REGEXP '^门户'; 
-- 查询找到所有的名字以'平台'结尾
SELECT rs.`name` FROM system_product_info rs WHERE rs.`name` REGEXP '平台$';
-- 查询找到所有的名字包函'直销员'的字符串
SELECT rs.`name` FROM system_product_info rs WHERE rs.`name` REGEXP '直销员';
-- 查询找到所有名称以元音开始和'ok'结束 的
SELECT rs.`name` FROM system_product_info rs WHERE rs.`name` REGEXP '^[aeiou]|平台$';
-- 查询找到所有名称以元音开始 
SELECT rs.`name` FROM system_product_info rs WHERE rs.`name` REGEXP '^[aeiou]';

-- 精确匹配 相当于 = 
SELECT rs.`name` FROM system_product_info rs WHERE rs.`name` REGEXP '^平台$';

-- 含有就返回1,不包含就返回0    注意:正则表达式不区分大小写
SELECT "hello" REGEXP "[0-9]";
SELECT "hello" REGEXP "[a-z]";
SELECT "hello" REGEXP "[A-Z]";

-- 查询找到所有行业编码带0的     “.“匹配任意字符  相当于 LIKE "%0"  
SELECT rs.`name`,rs.BUSINESS_DOMAIN FROM system_product_info rs WHERE rs.BUSINESS_DOMAIN REGEXP '.0';
-- 查询找到所有行业编码为10和20   相当于 LIKE "%10%"  OR prod_name LIKE "%20%";
SELECT rs.`name`,rs.BUSINESS_DOMAIN FROM system_product_info rs WHERE rs.BUSINESS_DOMAIN REGEXP '[12]0';
SELECT rs.`name`,rs.BUSINESS_DOMAIN FROM system_product_info rs WHERE rs.BUSINESS_DOMAIN REGEXP '[1|2]0';
SELECT rs.`name`,rs.BUSINESS_DOMAIN FROM system_product_info rs WHERE rs.BUSINESS_DOMAIN REGEXP '10|20';
-- 取反 查询找到所有行业编码不包含 10和20   注: ^在[]外面表开头,在[]里面表取反
SELECT rs.`name`,rs.BUSINESS_DOMAIN FROM system_product_info rs WHERE rs.BUSINESS_DOMAIN REGEXP '[^12]0';
-- 匹配特殊字符    使用转义”\“  如搜索“\”就用“\\”
-- 查询找到所有名称中有+
SELECT rs.`name` FROM system_product_info rs WHERE rs.`name` REGEXP '\\+';

你可能感兴趣的:(SQL,sql,正则表达式,数据库)