众所周知,在MySQL、SQLSERVER中,都有字符串连接函数,那么,HQL也不例外。
在学习、工作中,不可避免的会遇到需要将两个字段合并展示的需要。
最基础的一个方法是:CONCAT('abc','def')
这个函数的用法有一点需要注意,就是当遇到字段为空时,空的形式不同,结果也不同。
eg:SELECT CONCAT('abc',NULL) 结果为NULL
SELECT CONCAT('abc','') 结果为abc
并且,concat函数是将两个字段直接相连,中间不可加连接符。
比如:

结果:

那么,这个函数在一些我们需要添加连接符的情境下就不能使用了。
这时,就有了concat_ws('&','abc','def'),这个函数可以在两个字段间添加需要的连接符。那么,这个函数在遇到空的字符串时,
如何连接呢?
eg:select concat_ws('&','abc','') 结果为:abc&
select concat_ws('&','abc',NULL) 结果为:abc
如上面同样的例子:

结果:

另外,还有一个聚合函数,GROUP_CONCAT(),我还没有具体使用过,在以后使用到时,再进行补充。
这一篇主要举例了一些字符串连接函数,下一篇中将会介绍一些,字符串拆分函数。
欢迎大家补充其他的方法。

本文深入探讨HQL中的字符串连接函数,包括concat和concat_ws的使用方法与区别,以及它们在处理空字符串时的行为。同时,提到了聚合函数GROUP_CONCAT的潜在应用。
1543





