У меня есть XML, хранящийся в SQL как тип изображения. То, что я пытаюсь и на самом деле удалось выполнить, - это получить данные из этого хранимого xml. Проблема в том, что данные хранятся как unicode, но то, что я получаю, - это тип данных ascii. Я пробовал много, но не могу сделать эту работу.Как читать данные из XML, который хранится как тип изображения в SQL?
DECLARE @xml XML;
set @xml = convert(xml,(CONVERT(varchar(max), @data)));
SELECT
T.c.query('data(node1/id)') as 'id',
T.c.value('node1[1]/name[1]','nvarchar(100)') as 'name'
FROM @xml.nodes('Test1/Test2') T(c)
Я преобразование данных в VARCHAR (макс), потому что я не могу получить какие-либо данные, когда я бросил его в NVARCHAR (макс). Например, если я изменю свой код на
set @xml = convert(xml,(CONVERT(nvarchar(max), @data)));
Я не вижу никаких данных.
Спасибо за помощь.
Возможно, было бы более целесообразно тратить время на постоянное изменение типа данных столбца (либо на «xml», если все значения являются xml или «nvarchar (max)» в противном случае). 'image' устарел. –
Какой тип данных является '@ data'? –
Он сохраняется как изображение на сервере Sql, и я получаю его на локальной переменной как varbinary (max) – user3322380