У меня есть несколько полей в моей таблице, и я хочу, чтобы объединить некоторые из них в строку, используя -
в качестве разделителя:Concat различных значений с разделителем
select
concat(
case when a <> 'a' then concat('A = ', a)
case when b <> 'b' then concat(' - B = ', b)
...
case when z <> 'z' then concat(' - Z = ', z)
)
;
Теперь, если А не включен, то мой результат начнется с -
, и я не хочу этого. В действительности у меня есть 15 случаев, поэтому я не могу просто проверить, есть ли A 1, чтобы вставить -
. Какое самое простое решение, чтобы моя строка никогда не начиналась с разделителя?
Я знаю, что могу просто проверить, если он начинается с «-», но это выглядит как грязный раствор для меня ...
Можете ли вы показать нам пример таблицы вместе с выходом вы хотите? –
Предположим, у меня есть таблица с 26 полями (A -> Z). Все простые VARCHAR (10) Возможный выход: C = r - F = z - Y = q - Z = n Я понимаю, что мой пример плохо выбран, но это не должно иметь значения ... –
Да, но что это данные и какой результат вы хотите? Мы не можем читать ваши мысли. –