Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Impossible de convertir TEXT en XML dans SQL Server

Votre problème est :vous avez XML avec un encoding="utf-16" , mais votre colonne est une colonne non-Unicode......

En supposant que vous ne pouvez pas le changer en NTEXT soit, vous devez faire deux CAST imbriqués pour obtenir ce que vous recherchez :

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

Tout d'abord, vous devez caster en NTEXT (ou NVARCHAR(MAX) ), puis vous devez convertir ce résultat en XML , avant de pouvoir l'utiliser.

Astuce : supprimez ces "autres raisons" et convertissez-les en XML type de données si vous avez vraiment besoin de l'utiliser comme XML .....