Есть ли более простой c способ добавления символов в строку во время объединения? Я думаю об использовании функции, чтобы сделать это и могу достигнуть этого, делая конкатенацию; Тем не менее, есть ли какая-то альтернатива, которая может быть сделана, кроме конкатенации?
Вот что мне нужно сделать ... Есть таблица A, которая имеет 8 столбцов, для этого примера col1, col2, col3, et c.
;WITH
TABLE_A
AS
(
SELECT 'ABC' AS Col1
, 'COM' AS Col2
, 'SMALL' AS Col3
, '1234' AS Col4
, 'ABC INC.' AS Col5
, '123456789' AS Col6
, 'ABC Of New England' AS Col7
, 'NC123456' AS Col8
)
SELECT *
FROM TABLE_A
Мне нужно объединить значения в столбцах с> между каждым. Я могу сделать это sh, сделав что-то вроде ...
CONCAT(Col1,'>',Col2,'>',Col3,'>',Col4,'^',Col5,'>',Col6,'>',Col7,'>',Col8)
, но мне нужно, чтобы оно было динамическим c, например, если col1 - Col3 имеет значение, то конкатенация должно происходить только для тех CONCAT (Col1, '>', Col2, '>', Col3), и если Col1 - Col5 имеет значения, то CONCAT (Col1, '>', Col2, '>', Col3, '>', Col4, '^', Col5) и т. Д., Конкатенация должна только go, если есть значения.
Кроме того, чтобы добавить еще одну складку вместо> между Col4 и Col5, мне нужно в качестве разделителя укажите морковку ^.
Есть ли альтернативный способ сделать это без использования CONCAT? Может быть, все oop?