Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

TEXT kann in SQL Server nicht in XML umgewandelt werden

Ihr Problem ist:Sie haben XML mit einem encoding="utf-16" , aber Ihre Spalte ist eine Nicht-Unicode-Spalte......

Angenommen, Sie können es nicht in NTEXT ändern entweder müssen Sie zwei verschachtelte CAST ausführen um zu erreichen, wonach Sie suchen:

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

Zuerst müssen Sie in NTEXT umwandeln (oder NVARCHAR(MAX) ), und dann müssen Sie dieses Ergebnis in XML umwandeln , bevor Sie es verwenden können.

Tipp: Entfernen Sie diese "anderen Gründe" und konvertieren Sie dies in XML Datentyp, wenn Sie ihn wirklich als XML verwenden müssen .....