select GROUP_CONCAT(p_str SEPARATOR ';')
from (select 'aa' as p_str
from dual
union all
select 'bb' as p_str
from dual) mt;
在这里把后面的分号替换成换行符 char(13),直接替换是报错的,有其它办法没?
...全文
33305打赏收藏
mysql字符串GROUP_CONCAT拼接的时候,怎么指定分隔符为换行符呢?
select GROUP_CONCAT(p_str SEPARATOR ';') from (select 'aa' as p_str from dual union all select 'bb' as p_str from dual) mt; 在这里把后面的分号替换成换行符 char(13),直接替换是报错的,有其它办法没?
和我用char(13)报的错一样,但是类似的语法放在oracle用listagg可以(chr(13))
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'HEX(13))
from (select 'aa' as p_str
from dual
union al' at line 1
试试这个,我这里没有MYSQL的环境,不知道MySQL的HEX(13)是不是换行符。您可以自己试试看。
HEX()函数:返回十六进制值的字符串表示形式。注意:并不是十进制转化为十六进制数,而是转化为字符串。。。
UNHEX() 函数: 每对十六进制数字转化为一个字符。
select GROUP_CONCAT(p_str SEPARATOR HEX(13))
from (select 'aa' as p_str
from dual
union all
select 'bb' as p_str
from dual) mt;