MS Sql中有数据类型不被delphi 7支持,xml数据类型就是一个例子。ms sql xml数据类型转换为文本
我希望将XML数据类型转换为文本数据类型,以便我可以在delphi中处理它。
有没有办法从xml转换为文本?
MS Sql中有数据类型不被delphi 7支持,xml数据类型就是一个例子。ms sql xml数据类型转换为文本
我希望将XML数据类型转换为文本数据类型,以便我可以在delphi中处理它。
有没有办法从xml转换为文本?
一个简单的投就足够了:
select cast(XMLCol as nvarchar(max)) as XMLCol
或者非Unicode:
select cast(XMLCol as varchar(max)) as XMLCol
不能明确地转换为 '文本' 的数据类型。
我已经添加了as XMLCol
以确保转换后的数据与列的名称相同。当然你不需要这个。
编辑:
几个环节。无论如何,鼓励您使用nvarchar(max)而不是text
。微软表示他们将在未来的版本中弃用这些类型。为nvarchar(最大)应该为您提供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
这是我常做的,它是如此干净,易记,难惹了:) – Squazz 2016-04-14 14:01:35
varchar的问题是x字节的限制,对于xml而言不是这种情况。 – none 2011-01-05 15:53:49
您使用的是哪个版本的SQL。 nvarchar(最大)应该为您提供高达2GB。 – 2011-01-05 16:02:58
快速搜索后,指定varchar(5000)和varchar(max) – none 2011-01-05 19:31:23