MySql 查询以逗号分隔的字符串的方法(正则)
2016-03-13 00:00
746 查看
现数据库表中某个字段保存的值为“01,07,08”,需要sql去查询下表中到相应的名称:
1、使用find_in_set()...
查询字段中包含01,07,08的记录:
这SQL,肿么给它拆分开呢,难道再循环一下....
2、正则表达式,完美解决:
这个查询出来是多条数据的,然后再用到了group_concat()函数,OK
项目中就这么写的:
参考:
MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法 http://my.oschina.net/wallenheng/blog/402246
MySql 查询以逗号分隔的字符串的方法(正则)
http://blog.csdn.net/hechurui/article/details/50550468
MySQL模糊查询:LIKE模式和REGEXP模式
http://www.linuxidc.com/Linux/2015-03/114580.htm
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中利用select查询某字段中包含以逗号分隔的字符串的记录方法 http://my.oschina.net/wallenheng/blog/402246
MySql 查询以逗号分隔的字符串的方法(正则)
http://blog.csdn.net/hechurui/article/details/50550468
MySQL模糊查询:LIKE模式和REGEXP模式
http://www.linuxidc.com/Linux/2015-03/114580.htm
相关文章推荐
- 利用MySQL数据库来处理中英文取首字母排序
- MySQL数据库获取汉字拼音的首字母函数
- MySql中delimiter的作用是什么?
- mysql(二)
- mysql (一)
- Please read “Security” section of the manual to find out how to run mysqld as root!错误解决(转)
- 配置mysql允许远程连接的方法
- MySql优化【6】--压力测试脚本
- MySql优化【3】--SQL语句优化
- MYSQL插入数据,修改数据,误操作怎么恢复实例
- 企业如何给MYSQL创建表,查询表,创建索引实例
- 企业是怎么给MYSQL赋予用户权限
- MYSQL数据库查询删除创建企业基本知识
- << 电子电路 >>电子电路 Mysql
- mysql数据类型
- mysql常见错误
- 使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失(转)
- ubuntu下pdo mysql的安装
- MySQL安装及主从配置
- mysql-connector-java.jar包和源代码下载地址