MySQL查询指定字段不是数字与逗号的sql

核心sql语句

MySQL查询不包含数字的语句:

SELECT * FROM test WHERE `name` regexp '[^0-9]';

MySQL查询纯数字的语句:

SELECT * FROM test WHERE `name` regexp '[0-9]';

相关文章id,都是数字或者逗号那么下面语句MySQL查询不包含数字与逗号的语句:

SELECT * FROM test WHERE `name` regexp '[^0-9,]';

MySQL查询某一列中不是数字

包含数字的列 :

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[0-9]{1,}'

不包含数字的列 :

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[0-9]{1,}' = 0

mysql正则表达式查询非数字

想要查询字段age 内容 不是数字的正则表达式sql

SELECT `age` FROM `table_name` WHERE `age` REGEXP '^[^0-9]$';

或者

SELECT `age` FROM `table_name` WHERE `age` NOT REGEXP '^[0-9]$';

多个数字

select * from table_name where `age` REGEXP '[^0-9]{1,}'

MySQL中regexp运算符介绍

regexp运算符用来执行更复杂的字符串比较运算。(只能对字符串进行操作)

属于regexp运算符的特殊字符

^ 匹配字符串开始部分。例'^董',以董为开头的字符串。
$ 匹配字符串结束部分。
. 匹配任意单个字符包括回车和新行。
* 匹配星号之前的0个或多个字符的任何序列。(星号前可以不有)
+ 匹配加号之前的一个或多个字符的任何序列。(加号前必须有)
? 匹配问号之前0个或多个字符。
{n} 匹配括号前的内容出现n次的序列。
() 匹配括号里的内容。
[abc] 匹配方括号里出现的字符串abc。
[a-z] 匹配方括号里出现的a-z之间的1个字符。
[^a-z] 匹配方括号里出现不在a-z之间的1个字符。`

更多的内容可以参考这篇文章:https://www.jb51.net/article/72928.htm

(0)

相关推荐

  • 老生常谈MYSQL模式匹配 REGEXP和like的用法

    like like要求整个数据都要匹配,而REGEXP只需要部分匹配即可.  也就是说,用Like,必须这个字段的所有内容满足条件,而REGEXP只需要有任何一个片段满足即可. MySQL提供标准的SQL模式匹配(like),以及一种基于象Unix实用程序如vi.grep和sed的扩展正则表达式模式匹配的格式(regexp). SQL的模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零个字符).在 MySQL中,SQL的模式缺省是忽略大小写的

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

    以前我要查找数据都是使用like后来发现mysql中也有正则表达式了并且感觉性能要好于like,下面我来给大家分享一下mysql REGEXP正则表达式使用详解,希望此方法对大家有帮助. MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2.请参见附录C:感谢.MySQL采用了扩展的版本,以支持在SQL语句中与REGEXP操作符一起使用的模式匹配操作.请参见3.3.4.7节,"模式匹配". 在本附录中,归纳了在MySQL中可用于REGEXP操作

  • MySQL中使用replace、regexp进行正则表达式替换的用法分析

    本文实例讲述了MySQL中使用replace.regexp进行正则表达式替换的用法.分享给大家供大家参考,具体如下: 今天一个朋友问我,如果将数据库中查到的类似于"./uploads/110100_cityHotel_北京富豪华宾馆.jpg"这样的格式都修改为"./uploads/110100cityHotel北京富豪华宾馆.jpg"这样的格式.我本人是没有这样处理过数据的,但是我知道mysql是可以使用replace做到的,而且正则表达式也可以做到. 如何做呢?

  • mysql模糊查询like和regexp小结

    在mysql中实现模糊查询的有like和regexp. ------------------------ like的用法许多人都是知道的,最为常用的情况就是select * from a where name like '%a%'; 其中'%'代表的是任意个字符,它的效果像是正则表达式里的'*',它有几种用法:'a%','%a%','%a',分别表示以什么开头,存在什么以及以什么结尾. 另外也可以使用'_'字符,这表示一个任意字符.效果类似正则表达式里面的'.'. like是对这个字段里面的所有

  • mysql 正则表达式查询含有非数字和字符的记录

    比如我们有一张school表,里面有一个字段county_name,现在我们要查询county_name字段中包含a-w字母和数字以外字符的记录,那么sql该如何写呢?请看下面的写法: select * from info where name regexp '[^a-w0-9]'; mysql中正则表达式使用regexp关键字,[^a-w0-9]表示匹配除了a-w字母和数字以外的字符. 下面向大家介绍mysql正则表达式的其他使用实例: 匹配名称含有1000的所有行 SELECT * FROM

  • mysql模糊查询like与REGEXP的使用详细介绍

    前言 在mysql中实现模糊查询的有like和regexp.本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧. like模式 like意思是长得像,有两个模式:_和% _表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意"王"后面有两个_ select name from 表名 where name like '王__'; %表示0个或多个任意字符,如查出所有姓王的人名 select name from 表名 w

  • mysql数据库replace、regexp的用法

    replace.regexp的用法 0 Comments | This entry was posted on Apr 08 2010 mysql replace用法 1.replace into replace into table (id,name) values('1′,'aa'),('2′,'bb') 此语句的作用是向表table中插入两条记录.如果主键id为1或2不存在 就相当于 insert into table (id,name) values('1′,'aa'),('2′,'bb

  • mysql正则表达式(regexp和rlike)的搜索功能实例分析

    本文实例讲述了mysql正则表达式(regexp和rlike)的搜索功能.分享给大家供大家参考,具体如下: 我们知道正则表达式是描述搜索模式的特殊字符串. 它是一个强大的工具,为我们提供一种简洁灵活的方法来识别基于模式的文本字符,例如字符,单词等.例如,我们可以使用正则表达式来搜索电子邮件,IP地址,电话号码,社会安全号码或具有特定模式的任何内容.正则表达式可以由正则表达式处理器解释的自己的语法,正则表达式广泛应用于从编程语言到数据库(包括MySQL)大部分平台.使用正则表达式的优点是,不限于在

  • MySQL查询指定字段不是数字与逗号的sql

    核心sql语句 MySQL查询不包含数字的语句: SELECT * FROM test WHERE `name` regexp '[^0-9]'; MySQL查询纯数字的语句: SELECT * FROM test WHERE `name` regexp '[0-9]'; 相关文章id,都是数字或者逗号那么下面语句MySQL查询不包含数字与逗号的语句: SELECT * FROM test WHERE `name` regexp '[^0-9,]'; MySQL查询某一列中不是数字 包含数字的列

  • MyBatis-Plus 查询指定字段的实现

    首先创建一个数据库表,如下图所示: 然后创建一个Spring Boot项目,pom.xml和配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema

  • MySQL查询空字段或非空字段(is null和not null)

    现在我们先来把test表中的一条记录的birth字段设置为空. mysql> update test set t_birth=null where t_id=1; Query OK, 1 row affected (0.02 sec) Rows matched: 1  Changed: 1  Warnings: 0 OK,执行成功! 设置一个字段值为空时的语法为:set <字段名>=NULL 说明一下,这里没有大小写的区分,可以是null,也可以是NULL. 下面看看结果: mysql&

  • MySQL 按指定字段自定义列表排序的实现

    问题描述 大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例,下同): SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` ASC 降序排列的 SQL 为: SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ORDER BY `id` DESC 有时以上排序并不能满足我们的需求. 例如, 我们想要按 id 以 5, 3, 7, 1 的顺序排列

  • mysql 查询指定日期时间内sql语句实现原理与代码

    在数据库教程设计时必须注意时间字段为int(11)这样,保存在数据库的是一个数字型日期时间戳,我们可以用mktime函数求出当前日期的时间戳进行加减就OK了,下面看实例 //一个月 复制代码 代码如下: $lastMonth = mktime(date('h'),date('i'),date('s'),date('m')-1,date('d'),date('y')); $where .= " dtime > $lastMonth"; //三个月 复制代码 代码如下: $lastT

  • C# DataTable中查询指定字段名称的数据

    1.查询后获取对应的数据集后,传递参数strcodeName,根据数据集中strcodeName的匹配对应字段,获取数据集中对应的目的字段 复制代码 代码如下: private string GetStrName(DataTable dtable, string strcodeName) {             string Name = strcodeName;             DataRow[] dr = dtable.Select("匹配对应字段=" + strcod

  • MySQL 查询某个字段不重复的所有记录

    假设现在有如下N条记录 表明叫book id author title 1 aaa AAA 2 bbb BBB 3 ccc CCC 4 ddd DDD 5 eee AAA 现在想从这5条记录中查询所有title不重复的记录 select distinct title,author from book这样是不可以的 因为distinct只能作用于一个字段 想请教应该怎么写 答案: 复制代码 代码如下: select a.* from book a right join ( select max(i

  • MySQL使用select语句查询指定表中指定列(字段)的数据

    本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要查询某个表中的指定列的所有数据,则查询语句可以写作: select 列名1,列名2,列名3... from <表名> 要说明一个,这个语句后面仍然可以使用wher

  • mysql查询字段类型为json时的两种查询方式

    表结构如下: id varchar(32) info json 数据: id = 1 info = {"age": "18","disname":"小明"} -------------------------------------------- 现在我需要获取info中disanme的值,查询方法有: 1. select t.id,JSON_EXTRACT(t.info,'$.disname') as disname fro

  • mysql查询的时候给字段赋默认值操作

    需求 查询某个字段的时候需要给一个字段同样的值. 这个值你可以写死,也可以从数据库获取 1.写死值 SELECT mfr_id AS mfrId, mfr_name AS mfrName, IFNULL(NULL, 587694978080178176) AS suppId FROM mater_prod materProd 查询结果 2.从数据库获取值 SELECT mfr_id AS mfrId, mfr_name AS mfrName, IFNULL(NULL, mfr_id) AS su

随机推荐