MySql 查询以逗号分隔的字符串的方法(正则)
2016-01-20 19:35
561 查看
现数据库表中某个字段保存的值为“01,07,08”,需要sql去查询下表中到相应的名称:
NND,一点思路都木有,想了老久,突然想到了正则表达式....!啊哈哈哈.....
1、最开始想到的是find_in_set()...
查询字段中包含01,07,08的记录:
想想,妈蛋,这存SQL,肿么给它拆分开呢,难道再循环一下....
2、正则表达式,完美解决:
这个查询出来是多条数据的,然后再用到了group_concat()函数,OK
项目中就这么写的:
NND,一点思路都木有,想了老久,突然想到了正则表达式....!啊哈哈哈.....
1、最开始想到的是find_in_set()...
查询字段中包含01,07,08的记录:
SELECT * FROM test WHERE find_in_set('01',itemname) OR find_in_set('07',itemname);
想想,妈蛋,这存SQL,肿么给它拆分开呢,难道再循环一下....
2、正则表达式,完美解决:
SELECT * FROM test WHERE itemname REGEXP '(01|07|08)';
SELECT * FROM test WHERE CONCAT(',',itemname,',') REGEXP '[^0-9]+[3|9][^0-9]+';
这个查询出来是多条数据的,然后再用到了group_concat()函数,OK
项目中就这么写的:
SELECT group_concat(itemname) FROM code_library WHERE codeno = 'Com_insurance' AND itemno REGEXP ( SELECT REPLACE (Species, ',', '|') FROM capital_info WHERE customerid = '2016011800000001' )
相关文章推荐
- MySQL中B+树索引的使用
- 010-LAMP_MySQL_other
- MySQL更新的几个异常记录
- MYSQL获取自增ID的四种方法
- MySQL的information_schema的介绍(转)
- Mysql数据库中外键作用及属性
- MySQL-Cluster 搭建
- mysql的两种分页
- mysql查询字符串数据区分大小写问题
- mysql常用的图形化管理工具
- MySQL的数据库引擎的类型
- MySQL的binlog日志
- PHP连接MYSQL数据库实例代码
- MySQL定时备份
- mysql登录报错 ERROR 1045 (28000)
- mysql判断一条记录是否存在,如果存在,则更新此语句,如果不存在,则插入
- MYSQL正则表达式
- hive1.1.0安装与配置(远程mysql)
- MySQL5.6 实现主从复制,读写分离,分散单台服务器压力
- 修改mysql最大连接次数问题,默认为100次