MySQL 查寻条件使用正则 regexp
时间:2019-01-10
本文章向大家介绍MySQL 查寻条件使用正则 regexp,主要包括MySQL 查寻条件使用正则 regexp使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
我用的是 Mybatis
t.hobby : 条件字段
hobby : 查寻参数,值可以是多个逗号分隔的值:‘阅读,交友,围棋’
<!-- t.hobby 的值最初可能是这样: ' 阅读, 交友,围棋,足球 , 滑雪 ' 每个词的两边有空格不规则 -->
<!-- 下面逐步演示 -->
<if test="hobby!=null and hobby!=''">
concat(',',REPLACE (t.hobby, ' ', ''),',') regexp concat(',(',replace(#{hobby},',','|'),'),')
</if>
<!-- 表字段 t.hobby 取出值 -->
<if test="hobby!=null and hobby!=''">
concat(',',REPLACE (' 阅读, 交友,围棋,足球 , 滑雪 ', ' ', ''),',') regexp concat(',(',replace(#{hobby},',','|'),'),')
</if>
<!-- 表字段值处理后,去掉了多余的空格 -->
<if test="hobby!=null and hobby!=''">
concat(',','阅读,交友,围棋,足球,滑雪',',') regexp concat(',(',replace(#{hobby},',','|'),'),')
</if>
<!-- concat后得到一个字符串,首尾加上了逗号 -->
<if test="hobby!=null and hobby!=''">
',阅读,交友,围棋,足球,滑雪,' regexp concat(',(',replace(#{hobby},',','|'),'),')
</if>
<!-- 取出参数 #{hobby} 的值 -->
<if test="hobby!=null and hobby!=''">
',阅读,交友,围棋,足球,滑雪,' regexp concat(',(',replace('阅读,交友,围棋',',','|'),'),')
</if>
<!-- 把逗号换成 | -->
<if test="hobby!=null and hobby!=''">
',阅读,交友,围棋,足球,滑雪,' regexp concat(',(','阅读|交友|围棋','),')
</if>
<!-- concat后得到一个字符串,首尾加上了括号,逗号 -->
<if test="hobby!=null and hobby!=''">
',阅读,交友,围棋,足球,滑雪,' regexp ',(阅读|交友|围棋),'
</if>
得到结果是 1 作为条件就是真了。
复杂的过程主要是用来处理查寻条件。得到符合 regexp 格式的参数就ok了
- 设计模式(3)-装扮你的类(装饰模式)
- [Go 语言社区]服务器读取配置文件只-json数据
- gsoap开发webservice
- [Go 语言社区]测试模块之---utf8例子
- org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType
- JBPM4.4(2)-state结点和decision结点
- [Go 语言社区] Golang架构底层---日志函数
- [Go 语言社区]服务器游戏用户登陆数据读取函数
- 设计Go API的管道使用原则
- Goroutine背后的系统知识
- 从零到 Go:Google感恩节火鸡涂鸦开发纪实
- JBPM4.4(1)-简单工程的搭建
- 未绑定元素“mx:Panel”的前缀“mx”
- [Go 语言社区] Golang架构底层函数图片保存-原创
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解