mysql 正则表达式查询含有非数字和字符的记录
16lz
2022-01-03
比如我们有一张school表,里面有一个字段county_name,现在我们要查询county_name字段中包含a-w字母和数字以外字符的记录,那么sql该如何写呢?请看下面的写法:
select * from info where name regexp '[^a-w0-9]';
下面向大家介绍mysql正则表达式的其他使用实例:
匹配名称含有1000的所有行
SELECT * FROM a1 WHERE name regexp '1000'
SELECT * FROM a1 WHERE name regexp '.000'
SELECT * FROM a1 WHERE name LIKE binary '%J%' #使用LIKE+通配符匹配大写JSELECT * FROM a1 WHERE name regexp binary 'j' #使用正则匹配小写j
SELECT * FROM a1 WHERE name regexp binary 'a|j|G'
SELECT * FROM a1 WHERE name regexp '[12]st'
^ 匹配字符开始的部分
select * from info where name regexp '^L'; //从info表name字段中查询以L开头的记录
select * from info where name regexp 'c$'; //从info表name字段中查询以c结尾的记录
select * from info where name regexp '^L..y$'; //从info表name字段中查询以L开头y结尾中间有两个任意字符的记录
select * from info where name regexp '[ceo]'; //从info表name字段中查询包含c、e、o三个字母中任意一个的记录
select * from info where name regexp '[^a-w0-9]'; //从info表name字段中查询包含a-w字母和数字以外字符的记录
select * from info where name regexp 'ic'; //从info表name字段中查询包含'ic'的记录
select * from info where name regexp 'a*c'; 从info表name字段中查询c之前出现过a的记录
select * from info where name regexp 'a+c';//从info表name字段中查询c之前出现过a的记录
select * from info where name regexp 'a{3}'; //从info表name字段中查询出现过a3次的记录
select * from info where name regexp 'ab{1,3}'; //从info表name字段中查询ab出现最少1次最多3次的记录
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
更多相关文章
- Android(安卓)EditView
- android 中使用TextView实现分段显示不同颜色的字符串
- android中json文件的写法
- exp: 修改Android中strings.xml文件, 动态改变数据
- 【【【常用的ubuntu第三方工具及android命令(自存档)】】】二
- Android(安卓)中数据库查询方法 query() 中的 select
- android中SqLite query中用selectionArgs处理字符传值
- android中字符替换成表情
- 修改系统Android版本,版本号