zoukankan      html  css  js  c++  java
  • mysql正则查询 模糊查询

    -- ==============正则查询================
    /*
    SQL默认是忽略大小写的
    正则模式使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。正则即字段值包含正则的内容即可
    .      匹配任何单个的字符,表示任意单字符
    [...]  匹配包含方括号内某单个字符的字符串,[0-9]匹配0到9之间的某个数字
    *      匹配零个或多个在它前面的字符
    {n}    匹配n个在它前面的字符
    
    如果希望大小写都匹配上可以这样写。[aA] 匹配大小写的 a,[a-zA-Z] 则匹配大小写的任何 a-z 单个字母。
    但默认是不区分大小写的 [b] 也可匹配上还有 B 的字符串
    要匹配的字符在字段起始处,使用 ^ ,在字段的结尾用 $
    如果是中文字符,可能在使用时需要注意一下。
    
    */
    -- 字段name只有四个值,name_aA ,name_aB , name_人人 ,name_%好好_
    
    SELECT * FROM `test_t` WHERE NAME REGEXP '[a-z]';     -- 包含a到z某个字符的字符串,能匹配到 name_aA 和 name_aB 和 name_人人 和 name_%好好_
    
    SELECT * FROM `test_t` WHERE NAME REGEXP '^n.....b$'; -- 以n开头B结尾,7个字符长度的字符串,能匹配到 name_aB
    
    SELECT * FROM `test_t` WHERE NAME RLIKE 'd*';        -- 包含0个或多个d的字符串,能匹配到该字段的所有值,因为 * 前的字符0个也匹配
    
    SELECT * FROM `test_t` WHERE NAME RLIKE 'B{1}$';     -- 结尾是一个B,能匹配到name_aB
    
    
    
    
    
    
    -- ==============模糊查询================
    -- MySql的like语句中的通配符:百分号、下划线和escape
    
    -- %    表示任意个或多个任意字符。可匹配任意类型和长度的字符。
    
    SELECT * FROM `test_t` WHERE NAME LIKE '%me_aB'; -- 查询结果 name_aB
    
    -- 如果需要找出 name 中既有 b 又有 a 的记录,使用 and 条件
    SELECT * FROM `test_t` WHERE NAME LIKE '%b%' AND NAME LIKE '%a%';
    -- 若使用 SELECT * FROM `test_t` WHERE NAME LIKE '%b%a%'; 则找不到 name_aB
    
    
    
    -- _    表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句(可以代表一个中文字符)
    
    SELECT * FROM `test_t` WHERE NAME LIKE '_______'; -- 能查询到 name_aA 和 name_aB 还有 name_人人 这7个字符长度的值
    
    -- 如果要查字符 % 或者 _ 使用 ESCAPE,转义字符后面的 % 或 _ 就不作为通配符了,注意前面没有转义字符的%和_仍然起通配符作用
    SELECT * FROM `test_t` WHERE NAME LIKE 'name_/%%好/_' ESCAPE '/'; -- 查询结果 name_%好好_
  • 相关阅读:
    java 数组及数组得内存管理总结
    js 日期格式化
    url获取参数值,支持中文、英文
    C# log4net 的日志代码配置
    js 处理浏览器显示地址
    mui <a>标签跳转失效的处理
    js 实时输入事件
    asp.mvc 页面获取当前请求的控制器和方法
    js 获取元素值
    DllImport System.DllNotFoundException 找不到指定的模块。 (Exception from HRESULT: 0x8007007E)
  • 原文地址:https://www.cnblogs.com/dreamhome/p/7084820.html
Copyright © 2011-2022 走看看