【发布时间】:2011-01-05 15:32:30
【问题描述】:
在 MS Sql 中,delphi 7 不支持某些数据类型,xml 数据类型就是一个例子。
我希望将 XML 数据类型转换为 Text 数据类型,以便我可以在 delphi 中处理它。
有没有办法从xml转换成文本?
【问题讨论】:
标签: sql-server xml delphi text delphi-7
在 MS Sql 中,delphi 7 不支持某些数据类型,xml 数据类型就是一个例子。
我希望将 XML 数据类型转换为 Text 数据类型,以便我可以在 delphi 中处理它。
有没有办法从xml转换成文本?
【问题讨论】:
标签: sql-server xml delphi text delphi-7
一个简单的演员就足够了:
select cast(XMLCol as nvarchar(max)) as XMLCol
或者对于非 unicode:
select cast(XMLCol as varchar(max)) as XMLCol
您不能显式转换为“文本”数据类型。
我添加了as XMLCol 以确保转换后的数据与列同名。当然,你不需要这个。
编辑:
几个链接。无论如何,我们鼓励您使用 nvarchar(max) 而不是 text。微软已经表示他们将在未来的版本中弃用这些类型。 nvarchar(max) 应该为您提供 2GB:
http://www.petefreitag.com/item/734.cfm
http://www.teratrax.com/articles/varchar_max.html
http://msdn.microsoft.com/en-us/library/ms187752(v=SQL.90).aspx
【讨论】:
SELECT CAST(YourXMLColumn as nvarchar(max))
FROM YourTable
【讨论】:
我刚刚尝试了以下解决方案,是的,您确实需要 as XMLCol
select cast(XMLCol as nvarchar(max)) as XMLCol
【讨论】: