Mysql 将多行合并为一行
Mysql concating multiple rows into one
我试图获取一个字符串,即 'hello'。将它转换成字符,以便我可以将它转换成 ascii 代码,然后我再次连接它,但问题是我将每个字符放在不同的行中。知道如何将它们全部合并成一行。没有任何','或它们之间的东西?任何帮助将不胜感激。
您想要 group_concat()
,而不是 concat()
- 以及选项 separator ''
。
set @word = 'hello';
with recursive cte as (
select @word as word, left(@word, 1) as val, 1 as idx
union all
select word, substring(word, idx + 1, 1), idx + 1
from cte
where idx < char_length(word)
)
select group_concat(ascii(val) order by idx separator '') ascii_word from cte
我试图获取一个字符串,即 'hello'。将它转换成字符,以便我可以将它转换成 ascii 代码,然后我再次连接它,但问题是我将每个字符放在不同的行中。知道如何将它们全部合并成一行。没有任何','或它们之间的东西?任何帮助将不胜感激。
您想要 group_concat()
,而不是 concat()
- 以及选项 separator ''
。
set @word = 'hello';
with recursive cte as (
select @word as word, left(@word, 1) as val, 1 as idx
union all
select word, substring(word, idx + 1, 1), idx + 1
from cte
where idx < char_length(word)
)
select group_concat(ascii(val) order by idx separator '') ascii_word from cte