我需要执行以下操作:
SELECT * FROM [MY_TVF](9186)
FOR XML AUTO, ELEMENTS
并将所有NULL
值替换为空字符串''
以将它们包含在 XML 中。我知道我可以通过设置吐出带有xsi:nil="true"
属性的元素ELEMENTS XSINIL
,但我不希望这样。
我发现了这个问题:Convert NULL to Empty String SQL Server,答案说我可以ISNULL()
在查询中使用。我试过这样:
ISNULL((SELECT * FROM [MY_TVF](9186)),'')
FOR XML AUTO,ELEMENTS
但我无法让它工作。我收到以下错误:
消息 102,级别 15,状态 1,第 1 行 ',' 附近的语法不正确。
我可以做些什么来简单地用NULL
空字符串替换所有值,以便它们包含在 XML 中?
编辑
无法替换*
按列名。我们使用 TVF 是有原因的,大约有 40 列,它们可能会随着时间而改变。我的查询只是选择所有内容并将其作为 XML 返回。