比如我们有一张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次的记录

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. Android(安卓)EditView
  2. android 中使用TextView实现分段显示不同颜色的字符串
  3. android中json文件的写法
  4. exp: 修改Android中strings.xml文件, 动态改变数据
  5. 【【【常用的ubuntu第三方工具及android命令(自存档)】】】二
  6. Android(安卓)中数据库查询方法 query() 中的 select
  7. android中SqLite query中用selectionArgs处理字符传值
  8. android中字符替换成表情
  9. 修改系统Android版本,版本号

随机推荐

  1. HTML+CSS:css定位详解之相对定位、绝对定
  2. a标签下图片居中
  3. 用于将Word文档文本转换为HTML的库
  4. css造型图中的点
  5. tomahawk JSF组件扩展组件(一)
  6. 这是一个关于HTML编辑器的功能测试
  7. IE6使用innerHTML加入img标签图片不显示
  8. 如何用DWR返回一个html页面?
  9. HTML-HTML5+CSS3权威指南阅读(五、深入理
  10. Why wont .html() work on class=“error