ms sql xml数据类型转换为文本

non*_*one 24 xml sql-server delphi text delphi-7

在MS Sql中有delphi 7不支持的数据类型,xml数据类型就是一个例子.

我希望将XML数据类型转换为Text数据类型,以便我可以在delphi中处理它.

有没有办法从xml转换为文本?

Jam*_*man 51

一个简单的演员就足够了:

select cast(XMLCol as nvarchar(max)) as XMLCol 
Run Code Online (Sandbox Code Playgroud)

或者对于非unicode:

select cast(XMLCol as varchar(max)) as XMLCol 
Run Code Online (Sandbox Code Playgroud)

您无法明确转换为"文本"数据类型.

我添加了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

  • 您使用的是哪个版本的SQL.nvarchar(max)应该可以提供高达2GB的容量. (2认同)

Joe*_*lli 10

SELECT CAST(YourXMLColumn as nvarchar(max))
    FROM YourTable
Run Code Online (Sandbox Code Playgroud)