Я предполагаю, что вы получили пустую строку, потому что SUBSTRING Я не уверен, почему вы используете SUBSTRING, чтобы получить результат типа «Value1, Value2, Value3 text между моими значениями OtherValue1, OtherValue2, OtherValue3», попробуйте это.
аюсь создать значение, которое объединяет жестко закодированные строки и строки, созданные с использованием 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 text in between my values OtherValue1, OtherValue2, OtherValue3
, но вместо этого я получаю пустую строку.
Если я удаляю подстроки (включая запрос внутри нее), я получаю значения между штрафами, и если я добавляю только один из блоков подстрок, я получаю строку списка обратно. Так что я не могу понять, почему конкатенация с подстрокой и запросами FOR XML PATH приводит к тому, что она возвращает пустую строку .... ПОМОГИТЕ!