如何在SQL Server 2005中将文本属性解析为xml属性?

问题描述 投票:0回答:1

我有一个表,其中包含名为custom_fields的属性,该属性存储格式正确的xml:

<Root>
   ...
   <TotalMontoSoles></TotalMontoSoles>
   ...
</Root>

但是此属性未存储为xml数据类型,而是存储为文本。我需要做的是设置TotalMontoSoles值,我试图通过使用XML-DML中的Modify方法来实现这一点,但是我一直得到[]

错误SQL:不允许从数据类型xml到文本的显式转换。

当我尝试将列转换为xml类型时出错:

DECLARE @custom_fields xml
SET @custom_fields = (SELECT CAST(custom_fields as XML) FROM UPLOAD_HEADER_TEMPORAL
@custom_fields.modify('...')

我在做什么错?我还有其他方法可以做到这一点吗?

更新:

也许重要的是要指出,我在这里要做的是创建一个过程,并且在编译期间出现此错误。

我有一个表,其中包含一个名为custom_fields的属性,该属性存储格式正确的xml:...

sql xml sql-server-2005
1个回答
1
投票

文本列数据类型无法转换(广播)为XML。您可以(应该)使用varchar类型之一。 Microsoft将在将来的某个时候删除文本(和图像)数据类型。

© www.soinside.com 2019 - 2024. All rights reserved.