[英]How to parse a text attribute into a xml atribute in SQL server 2005?
我有一个表,其中包含一个名为custom_fields
的属性,该属性存储格式良好的 xml:
<Root>
...
<TotalMontoSoles></TotalMontoSoles>
...
</Root>
但是此属性不存储为 xml 数据类型,而是存储为文本。 我需要做的是设置TotalMontoSoles
值,我试图通过使用 XML-DML 中的修改方法来实现这一点,但我一直得到一个
错误 SQL:不允许从数据类型 xml 显式转换为文本。
当我尝试将列转换为 xml 类型时出错:
DECLARE @custom_fields xml
SET @custom_fields = (SELECT CAST(custom_fields as XML) FROM UPLOAD_HEADER_TEMPORAL
@custom_fields.modify('...')
我究竟做错了什么? 我还有其他方法可以做到这一点吗?
更新:
也许重要的是要指出我在这里尝试做的是创建一个过程,并且在编译期间我收到此错误。
无法将文本列数据类型转换(转换)为 XML。 不过,您可以(应该)使用其中一种 varchar 类型。 Microsoft 将在未来的某个时候删除文本(和图像)数据类型。
http://msdn.microsoft.com/en-us/library/ms187993%28v=sql.90%29.aspx
ntext、text 和 image 数据类型将在 Microsoft SQL Server 的未来版本中删除。 避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。 请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.