服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL查询指定字段不是数字与逗号的sql

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

2021-01-06 16:32MYSQL教程网 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个字符。`

更多的内容可以参考这篇文章:http://www.tuohang.net/article/94542.html

延伸 · 阅读

精彩推荐