1.like操作符和百分号通配符

%表示任何字符出现任意次数。


查询出表TABLE中NAME字段中任意位置包含i的行:

select * from TABLE where NAME like '%i%'

查询出表TABLE中NAME字段中开头位置包含i的行:

select * from TABLE where NAME like 'i%'

查询出表TABLE中NAME字段中结尾位置包含i的行

select * from TABLE where NAME like '%i'

注意:%不能匹配NULL;有一些字段首尾可能会出现空格,为了避免影响匹配结果,可以是同LTrim和RTrim函数去掉首尾的空格。

2.下划线通配符

下划线通配符只代表一个字符。

使用方法和%一样,比如查询出表TABLE中NAME为‘AAA’开头的四个字母的行

select * from TABLE where NAME like 'AAA_'

3.正则表达式

除了使用like进行模糊匹配,还可以使用正则表达式进行模糊匹配。

正则表达式操作符:REGEXP

3.1基本字符匹配

查询出表TABLE中,字段NAME以A结尾的且只有两个字母的所有行:

select * from TABLE where NAME regexp '.A'

.是正则表达式的特殊字符,代表匹配任意一个字符。

3.2进行或(OR)匹配

查询出表TABLE中,字段NAME为AAA或BBB的行:

select * from TABLE where NAME regexp 'AAA|BBB'

|为正则表达式的或操作符。

3.3匹配多个字符

查询出表TABLE中,字段NAME以A或B或C开头,且结尾为DD的行:

select * from TABLE where NAME regexp '[ABC]DD'

[ABC]定义一组字符,意思是:匹配A或B或C。

3.4范围匹配

查询出表TABLE中,字段NAME以1到9开头,且结尾为A的行:

select * from TABLE where NAME regexp '[1-9]A'

[1-9]意为:匹配1到9任意数字,[a-z]意为匹配任意字符。

3.5匹配特殊字符

这种问题几乎在每种语言中都会出现,即需要查询的内容中包含特殊字符。这时候就需要转义了。

在mysql中转义符为\\

查询出表TABLE中,NAME字段包含.的行:

select * from TABLE where NAME regexp '\\.'

3.6正则表达式常用元字符

注意:正则表达式匹配不区分大小写,如果需要区分在regexp后面加上关键字:binary

Mysql——通配符和正则表达式的使用的更多相关文章

  1. MySQL通配符与正则表达式

    通配符 通配符必须全文匹配时才为真,使用LIKE关键字 字符 示例 含义 _ "a_b" 任意一个字符"axb",其中x可以使任意字符,包括汉字 % " ...

  2. MySQL中REGEXP正则表达式使用大全

    REGEXP在mysql是用来执行正则表达式的一个函数 像php中的preg之类的函数了,regexp正则函数如果只是简单的查询使用like即可,但复杂的还是需要使用regexp了,下面我们来看看. ...

  3. mysql通配符使用

    mysql通配符使用: w3cchool 在mysql查询中,经常会用到通配符,而且mysql的通配符和pgsql是有所不同的,甚至mysql中还可以使用正则表达式.本文就为大家带来mysql查询中通 ...

  4. MySQL中的正则表达式

    正则表达式是用正则表达式语言来建立 基本字符的匹配 .是正则表达式语言中的一个特殊的字符,它表示匹配任意一个字符 在LIKE和REGEXP之间有一个重要的差别,LIKE匹配整个列,如果被匹配的文本仅在 ...

  5. MySQL学习之正则表达式篇

    正则表达式(REGEXP) 1.简介 正则表达式是用来匹配列值的特殊字符集合,许多领域都有涉及, MySQL使用的正则表达式仅为其一个小小的子集. 2.基本字符匹配 2.1筛选包含特定字符串的信息 / ...

  6. linux中的通配符与正则表达式

    在linux中,有通配符及正则表达式,那么什么是通配符和正则表达式,什么时候用?   通配符 它是由shell解析,并且一般用于匹配文件名,实际上就是shell解释器去解析的特殊符号,linux系统通 ...

  7. MySQL 通配符学习小结

    MySQL 通配符 SQL的模式匹配同意你使用"_"匹配不论什么单个字符,而"%"匹配随意数目字符(包含零个字符).在 MySQL中,SQL的模式缺省是忽略大写 ...

  8. MySQL 通配符学习总结

    MySQL 通配符 SQL您同意使用模式匹配"_"无论单个字符相匹配,和"%"匹配随意数目字符(包含零个字符). 在 MySQL中.SQL的模式缺省是忽略大写和 ...

  9. linux通配符与正则表达式

    通配符   *  任意字符,可重复多次     ? 任意字符,重复一次     [] 代表一个字符 举例: [a,b,c] 表示abc中任意一个 通配符的作用是用来匹配文件名的 正则表达式 正则表达式 ...

随机推荐

  1. sqlserver 插入语句

    //--创建事务 Create PROC [dbo].[proc_XXXXX] ) AS BEGIN BEGIN TRAN BEGIN TRY .....................插入 COMM ...

  2. POJ 1236 Network of Schools —— (缩点的应用)

    题目大意:有N个学校和一些有向边将它们连结,求: 1.最少需要向几个学校发放软件,使得他们中的每一个学校最终都能够获得软件. 2.最少需要增加几条有向边使得可以从任意一个学校发放软件,使得每一个学校最 ...

  3. CF427D

    CF427D SA的奇技淫巧,其实就是板子. 题意: 给定两个字符串,求最短的满足各只出现一次的连续公共字串 解析: 一般情况下,SA都是用来求最长公共前缀的,好像和这道题所求的最短公共子串没有任何关 ...

  4. 去除ZERO WIDTH SPACE 零宽字符: 看不见却占位置的字符

    ZERO WIDTH SPACE 由于历史原因,编码方案中保留着该类编码 解决方案 1. 替换 ```js str.replace(/[\u200B-\u200D\uFEFF]/g, ''); ``` ...

  5. Kettle环境的安装

    Kettle是绿色免安装的,下载完解压之后找到Spoon.bat,直接执行就好 欢迎界面 Kettle主要分为转换和作业2类 新建一个转换demo 创建了一个转换demo后,由于是数据抽取,因此我们抽 ...

  6. Leetcode题目分类整理

    一.数组 8) 双指针 ---- 滑动窗口 例题: 3. Longest Substring Without Repeating Characters 描述:Given a string, find ...

  7. Leetcode题目78.子集(回溯-中等)

    题目描述: 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3] 输出: [ [3],   [1] ...

  8. springboot发送邮件,以及携带邮件附件简单使用

    可以通过springboot官方文档中Sending Email,找到类似如下java mail的使用文档 https://docs.spring.io/spring/docs/5.1.9.RELEA ...

  9. POJ 2109 -- Power of Cryptography

    Power of Cryptography Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 26622   Accepted: ...

  10. 1.springboot内置tomcat的connection相关

    最近在研究tomcat的连接超时问题,环境:jdk1.8 + springboot 2.1.1.RELEASE,以下仅为个人理解,如果异议,欢迎指正. springboot的tomcat的几个配置参数 ...