if(StringUtils.isNotBlank(queryBean.getConditions())){
hqlBuilder.addWhereClause(" concat(this.user.name,this.ip,this.mac,this.name,this.organization.name) like ? ", "%"+queryBean.getConditions()+"%");
}

一、LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

  语法:SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;

  通过使用 NOT 关键字,您可以选取不匹配模式的记录。

SELECT * FROM Websites
WHERE name LIKE 'G%';
//选取 name 以字母 "G" 开始的所有客户
SELECT * FROM Websites
WHERE name LIKE '%k';
//选取 name 以字母 "k" 结尾的所有客户
SELECT * FROM Websites
WHERE name LIKE '%oo%';
//选取 name 包含模式 "oo" 的所有客户
SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';
//选取 name 不包含模式 "oo" 的所有客户

二、CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一,下面就将为您详细介绍mysql CONCAT()函数:

1、mysql CONCAT(str1,str2,…)

  返回结果为连接参数产生的字符串

  如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。(所以上面写法是有问题的,如果库里某个项为null,那么模糊查询时,concat的结果都将是null,需要用到下面介绍的concat_ws()比较好

  如果所有参数均为非二进制字符串,则结果为非二进制字符串。

  如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;

  若要避免这种情况,可使用显式类型 cast,例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)

mysql> SELECT CONCAT(’My’, ‘S’, ‘QL’);
// ‘MySQL’ mysql> SELECT CONCAT(’My’, NULL, ‘QL’);
// NULL mysql> SELECT CONCAT(14.3);
// ‘14.3′

2、mysql CONCAT_WS(separator,str1,str2,…)

  CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。

  第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。

  如果分隔符为 NULL,则结果为 NULL。

  函数会忽略任何分隔符参数后的 NULL 值。这是和MySQL中concat函数不同的地方、concat_ws函数在执行的时候,不会因为NULL值而返回NULL。(这点很重要

mysql> SELECT CONCAT_WS(’,',’First name’,'Second name’,'Last Name’);
// ‘First name,Second name,Last Name’ mysql> SELECT CONCAT_WS(’,',’First name’,NULL,’Last Name’);
// ‘First name,Last Name’
//mysql CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)。

3、group_concat函数

  完整的语法如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])(分隔符默认逗号)

  基本查询:

mysql> select * from aa;
+------+------+
| id| name |
+------+------+
| | |
| | |
| | |
| | |
| | |
| | |
+------+------+
rows in set (0.00 sec)

  以id分组,把name字段的值打印在一行,逗号分隔(默认)

mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
| | ,,|
| | |
| | ,|
+------+--------------------+
rows in set (0.00 sec)

  以id分组,把name字段的值打印在一行,分号分隔

mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
| | ;; |
| | |
| | ; |
+------+----------------------------------+
rows in set (0.00 sec)

  以id分组,把去冗余的name字段的值打印在一行,逗号分隔

mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
| | ,|
| | |
| | , |
+------+-----------------------------+
rows in set (0.00 sec)

  以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序

mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
| | ,, |
| | |
| | ,|
+------+---------------------------------------+
rows in set (0.00 sec)

4、repeat()函数

用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数

mysql> select repeat('ab',2);
+----------------+
| repeat('ab',) |
+----------------+
| abab |
+----------------+
row in set (0.00 sec)

最新文章

  1. silverlight 4.0 的oob模式下,调用com通过wmi重启自身进程 killself
  2. 完成Matrix丶Kingdom PPT后的感想
  3. ubuntu输入su命令显示 Authentication failure解决
  4. Python核心编程--学习笔记--6--序列(上)字符串
  5. 因特网的IP协议是不可靠无连接的,那为什么当初不直接把它设计为可靠的?
  6. bzoj 1758: [Wc2010]重建计划
  7. RabbitMQ教程(一) ——win7下安装RabbitMQ
  8. Docker Mysql主从同步配置搭建
  9. [转]C# 4.7.2 安装
  10. vsftp虚拟主机实战
  11. Windwos Live Writer插件指南
  12. 【Loadrunner】Loadrunner 手动关联技术
  13. testin 测试用例管理平台
  14. linux导出sql数据
  15. vue:在路由跳转中使用拦截器
  16. 【MySQL】 DB 回滚崩溃案例一则
  17. java 用volatile和不用volatile的区别
  18. C语言的内存对齐
  19. Python读取Json字典写入Excel表格的方法
  20. HIVE的sql语句操作

热门文章

  1. Django web框架之权限管理二
  2. poj 1579(动态规划初探之记忆化搜索)
  3. Permutations I&&II
  4. 经验分享:如何系统学习 Web 前端技术?
  5. vivo手机的坑-禁止微信浏览器网页点击图片,图片会自动放大
  6. CentOS7.5安装下载工具
  7. file '/grub/i386-pc/normal.mod' not found.解决方案
  8. KMS使用CLion作为IDE来调试
  9. 【Java多线程】线程池学习
  10. 【HDU 5283】Senior's Fish