sql >> Base de Datos >  >> RDS >> Sqlserver

No se puede convertir TEXTO a XML en SQL Server

Su problema es:tiene XML con una encoding="utf-16" , pero su columna no es una columna Unicode......

Suponiendo que no puede cambiarlo a NTEXT o bien, tienes que hacer dos CAST anidados para lograr lo que buscas:

SELECT 
    CAST(CAST(XML AS NTEXT) AS XML).value('(/Record/UserGuid)[1]', 'NVARCHAR(max)')
FROM 
    tbl_Module_RequestForms_Items

Primero, necesitas transmitir a NTEXT (o NVARCHAR(MAX) ), y luego tienes que convertir ese resultado a XML , antes de poder usarlo.

Consejo: elimina esas "otras razones" y convierte esto a XML tipo de datos si realmente necesita usarlo como XML .....