Использование concat()
Функция:
select a,b,c,
concat(
case when length(a)>0 then concat('1:',a) else '' end,
case when length(b)>0 then concat('2:',b) else '' end,
case when length(c)>0 then concat('3:',c) else '' end
) as d
from (--test dataset
select stack(4, 'a','b','c', --all
'','b','c', --one empty
null,'b','c', --null
'','','' --all empty
) as (a,b,c)
)your_data;
Результат:
OK
a b c 1:a2:b3:c
b c 2:b3:c
NULL b c 2:b3:c
Время выполнения: 0,284 секунды, Извлечено: 4 ряд (ов) - последнийодна строка пуста
По состоянию на Улей 2.2.0.Вы можете использовать ||
оператор вместо concat
:
select a,b,c,
case when length(a)>0 then '1:'||a else '' end||
case when length(b)>0 then '2:'||b else '' end||
case when length(c)>0 then '3:'||c else '' end as d