SQL里用concat连接的字符串可以输出换行吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL里用concat连接的字符串可以输出换行吗?相关的知识,希望对你有一定的参考价值。

比如concat('ABC','efg'),能不能输出成ABC和efg各一行?

参考技术A 中间加一个换行符试试
concat('ABC',"\n",'efg')追问

不行的,报错,试过换行符加单引号、双引号和不加引号都不行,列名\n无效

SQL---CONCAT系列函数

参考技术A MYSQL里的CONCAT函数用于将两个字符串连接起来,形成一个单一的字符串。

如下面的例子:

mysql> select concat('11','22','33');

+------------------------+

| concat('11','22','33') |

+------------------------+

| 112233 |

+------------------------+

1 row in set (0.00 sec)

MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

mysql> select concat('11','22',null);

+------------------------+

| concat('11','22',null) |

+------------------------+

| NULL   |

+------------------------+

1 row in set (0.00 sec)

MySQL中concat_ws函数

使用方法:

contcat_ws(separator,str1,str2,...)

contcat_ws() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。

注意:

如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

如连接后以逗号分隔

mysql> select concat_ws(',','11','22','33');

+-------------------------------+

| concat_ws(',','11','22','33') |

+-------------------------------+

| 11,22,33 |

+-------------------------------+

1 row in set (0.00 sec)

和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL 

mysql> select concat_ws(',','11','22',NULL);

+-------------------------------+

| concat_ws(',','11','22',NULL) |

+-------------------------------+

| 11,22 |

+-------------------------------+

1 row in set (0.00 sec)

HQL里的CONCAT函数大致用法更SQL的相同

我使用的常用形式为:

select a, b, concat_ws(',' , collect_set(cast(c as string)))

from table group by a,b;

上文HQL中collect_set 有两个作用,第一个是 去重 ,去除group by后的重复元素,

第二个是形成一个 集合 ,将group by后属于同一组的第三列集合起来成为一个集合。与contact_ws

结合使用就是将这些元素以逗号分隔形成字符串。当使用collect_list是则不会去重,它会将第三列的集合全部都列出来

cast  ,用法cast(value as type),将某个列的值显示的转化为某个类型,cast(age as string ) 将int类型的数据转化为了String类型。

以上是关于SQL里用concat连接的字符串可以输出换行吗?的主要内容,如果未能解决你的问题,请参考以下文章

具有不可见字符的新行不会换行吗?

input placeholder可以换行吗

flexbox 可以检测 flex 项目何时换行吗?

web前端里面span标签换行吗?

SQL— CONCAT(字符串连接函数)

js代码太长,怎么换行呢