我正在尝试使用 SQL Server 2016 中的 STUFF 功能来选择日期信息并将其返回到表中。有时会有多个日期返回。我已经使用 STUFF 来获取我需要的其他数据。
Email = STUFF((SELECT ', ' + [Value]
FROM EmailTable
WHERE ID = r.ID AND EmailType = 1
FOR XML PATH(''),TYPE).value('(./text())[1]','NVARCHAR(MAX)'),1,2,'')
这可以在适用的情况下返回多封电子邮件并且工作正常。现在的问题是我想做同样的事情,但要使用 DATE。
Date = STUFF((SELECT ', ' + DateValue
FROM DateTable
WHERE ID = r.ID
FOR XML PATH(''),TYPE).value('(./text())[1]','DATE'),1,2,'')
上面的代码片段只是示例,表名和变量名实际上是不同的,但它们应该传达我的意思。
最后一个代码片段的错误是由于“+”符号而无法工作。如果我把逗号加出来,我可以让它返回日期,但它们被包装在 XML 标记中。
它还必须返回一个 DATE 值,它不能转换为 NVARCHAR。
我不确定我所追求的是否可行,但我想我会问。
如果需要更多信息,请询问。