Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não é possível converter TEXT para XML no SQL Server


Seu problema é:você tem XML com um encoding="utf-16" , mas sua coluna é uma coluna não Unicode......

Assumindo que você não pode alterá-lo para NTEXT ou, você tem que fazer dois CAST aninhados para alcançar o que você está procurando:
SELECT 
    CAST(CAST(XML AS NTEXT) AS XML).value('(/Record/UserGuid)[1]', 'NVARCHAR(max)')
FROM 
    tbl_Module_RequestForms_Items

Primeiro, você precisa transmitir para NTEXT (ou NVARCHAR(MAX) ), e então você tem que converter esse resultado para XML , antes de poder usá-lo.

Dica: remova esses "outros motivos" e converta isso para XML tipo de dados se você realmente precisa usá-lo como XML .....