ms sql xml тип данных преобразовать в текст - PullRequest
23 голосов
/ 05 января 2011

в MS Sql есть типы данных, которые не поддерживаются delphi 7, тип данных xml - один из примеров.

Я хочу преобразовать тип данных XML в тип данных Text, чтобы я мог обработать его в Delphi.

Есть ли способ конвертировать из xml в текст?

Ответы [ 2 ]

47 голосов
/ 05 января 2011

Достаточно простого приведения:

select cast(XMLCol as nvarchar(max)) as XMLCol 

Или для не-Unicode:

select cast(XMLCol as varchar(max)) as XMLCol 

Вы не можете явно преобразовать данные в текстовый тип данных.

Я добавил as XMLCol, чтобы преобразованные данные имели то же имя, что и столбец. Вам не нужно иметь это, конечно.

EDIT:

Несколько ссылок. Вам предлагается использовать nvarchar (max) вместо text независимо. Microsoft заявила, что они будут осуждать эти типы в будущих выпусках. nvarchar (max) должен предложить вам 2 ГБ:

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

10 голосов
/ 05 января 2011
SELECT CAST(YourXMLColumn as nvarchar(max))
    FROM YourTable
...