mysql连接字符串,大小写不敏感查询
2016-05-19 16:40
513 查看
like的两端同时加upper()或者lower()
例如:
SELECT * FROM tb_client WHERE 1=1 AND UPPER(clientid) LIKE CONCAT_WS('%', UPPER('IoS_1.0_360.360.0.360.queen'), '%')
SELECT * FROM tb_client WHERE 1=1 AND UPPER(clientid) LIKE CONCAT('%', UPPER('IoS_1.0_360.360.0.360.queen'), '%')
(这个是mysql的写法)
CONCAT_WS和CONCAT的区别
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
在实践的过程中发现一个小小的问题,暂时还不太懂,查询的时候,使用CONCAT_WS,不能模糊匹配字符串中间几个字符,使用CONCAT可以字符串的匹配任意字符
参考链接:http://blog.163.com/yang_jianli/blog/static/16199000620110135214700/
例如:
SELECT * FROM tb_client WHERE 1=1 AND UPPER(clientid) LIKE CONCAT_WS('%', UPPER('IoS_1.0_360.360.0.360.queen'), '%')
SELECT * FROM tb_client WHERE 1=1 AND UPPER(clientid) LIKE CONCAT('%', UPPER('IoS_1.0_360.360.0.360.queen'), '%')
(这个是mysql的写法)
CONCAT_WS和CONCAT的区别
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
在实践的过程中发现一个小小的问题,暂时还不太懂,查询的时候,使用CONCAT_WS,不能模糊匹配字符串中间几个字符,使用CONCAT可以字符串的匹配任意字符
参考链接:http://blog.163.com/yang_jianli/blog/static/16199000620110135214700/
相关文章推荐
- mysql大表如何优化
- Mysql优化的几点总结
- 关于Mysql索引的一点思考--什么情况下索引不会被用到
- 一些MySQL语句
- mysql中timestamp与datetime区别
- sublime 3text MYSQL调试搭建
- MySQL事务及锁相关
- mysql 之索引初步
- mysql使用二进制日志恢复数据
- mysql 对表的修复,优化
- mysql 中FIND_IN_SET用法
- mysql 常见命令
- (转)JSP+mysql数据库操作 连接,增加,删除,修改,查询例子
- mysql慢查询的配置
- Mysql学习总结(17)——MySQL数据库表设计优化
- Mysql学习总结(17)——MySQL数据库表设计优化
- Mysql学习总结(17)——MySQL数据库表设计优化
- Hibernate选择Mysql驱动及查看建表引擎等
- 关于mysql视图(转载)
- mysql 数据库表分区 方式以及优化查询查看方式介绍