Лично я бы привел их обратно в виде столбцов и беспокоился о форматировании в коде приложения!
STRING_AGG
действительно предназначен для объединения строки данных; вы работаете с столбцами , поэтому вам, вероятно, лучше сделать что-то вроде:
SELECT CONCAT(Addresses.Line1,
N', ' + Addresses.Line2,
N', ' + Addresses.Line3,
-- ...
N', ' + Addresses.Postcode)
CONCAT
игнорирует null
значения, а N',' + {some column}
будет null
если {some column}
равно null
, то это удаляет промежуточные разделители для всех пропущенных значений. Это делает своего рода предположением, что Line1
имеет значение - без этого может быть начальная запятая. Вы можете удалить это при необходимости.