Я пытаюсь создать значение, которое объединяет как жестко закодированные строки, так и строки, созданные с использованием FOR XML PATH.
SUBSTRING(
(SELECT (', ' + [value])
FROM [values]
FOR XML PATH( '' )
), 3, 1000) +
' text in between my values ' +
SUBSTRING(
(SELECT (', ' + [otherValue])
FROM [otherValues]
FOR XML PATH( '' )
), 3, 1000)
Поэтому я ожидал бы что-то вроде: Текст Value1, Value2, Value3 между моими значения OtherValue1, OtherValue2, OtherValue3
, но вместо этого я получаю пустую строку.
Если я извлекаю подстроки (включая запрос внутри него), я получаю промежуточные значения, а если я добавляю только один из блоков подстроки, я получаю строку списка обратно. Поэтому я не могу понять, почему конкатенация с подстрокой и запросами FOR XML PATH приводит к возврату пустой строки .... ПОМОЩЬ!