【发布时间】:2015-03-26 12:05:47
【问题描述】:
我在 SQL Server 2012 中有一个表,其中包含一些客户数据。表中的一列包含存储为 XML 的许可证数据。单元格的类型是nvarchar(MAX)。
是否可以使用FOR XML(或其他方法),以便在返回数据时,许可证数据中的 XML 包含为 XML 而不是格式化字符串?
如果我只是简单地使用 FOR XML RAW,那么结果是:
<Customers id="1" CustomerName="FirstCustomer"
LicenseData="<license customerid="1">...More data here...</license>" />
我想得到的是:
<Customers id="1" CustomerName="FirstCustomer">
<license customerid="1">
...More data here...
</license>
</Customers>
有什么办法可以做到吗?
【问题讨论】:
-
Bad habits to kick : choosing the wrong data type - 你应该始终使用最合适的数据类型 - 毕竟这就是它们的用途!如果您的许可证数据确实总是 XML - 将其存储为
XML! -
谢谢。不幸的是,我不是这个特定表的设计者,我只是在尝试使用它。我也许可以将数据类型更改为 XML,但我必须通过一些其他代码来确保我没有先破坏其他任何东西。
标签: sql-server xml sql-server-2012 sqlxml