MySQL正则表达式REGEXP操作
文章描述:
当判断一个字符或者数据库中数据某个字段是否有某个字符时,可以使用REGEXP来作为查询条件来操作?
判断数字
判断一个字符是否存在某个指定的数字值用法:
select ('abc3def' REGEXP '[3]')
REGEXP前面的是字符内容,后面的是条件,判断3这个数字是否在前面这个字符里面,如果存在侧返回1,不存在返回0。
判断一个字符是否存在指定区间值的用法:
select ('abc6def' REGEXP '[1-9]')
判断字符里面是否有存在1-9的数字,如果有侧返回1,如果把添加设置为1-5侧返回0。
判断字母
判断一个指定字母
SELECT * FROM sys_goods WHERE title REGEXP '[K]'
查询产品表里面标题里面包含K字母的产品有哪些
判断所有包含字母的
SELECT * FROM sys_goods WHERE title REGEXP '[A-Z]'
查询产品表里面标题包含字母A-Z24个字母的产品有哪些
反查询
反查询数据表字段里面没有数组的所有数据
SELECT * FROM mip_tags WHERE name NOT REGEXP '[0-9.]'
子查询
使用子查询和反查询数据
SELECT name FROM mip_tags WHERE id IN(SELECT id FROM mip_tags WHERE name NOT REGEXP "[^0-9.]")
使用子查询和修改数据
使用子查询和修改数据表字段里面的内容
UPDATE mip_tags a INNER JOIN(SELECT id from mip_tags WHERE id in(SELECT id FROM mip_tags WHERE name NOT REGEXP "[^0-9.]")) b ON a.id=b.id SET a.url_name = a.`name`
发布时间:2021/08/06
发表评论