我想创建一个连接硬编码字符串和使用FOR XML PATH创建的字符串的值。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查询导致它返回一个空字符串....帮助!
不知道空白字符串,但如果您针对[[Values] **或**'[otherValues]'的查询返回0行,您将得到'NULL'。你可以尝试将'substring'嵌入'coalesce'中。 –