sql >> Databasteknik >  >> RDS >> Sqlserver

Det går inte att casta TEXT till XML i SQL Server

Ditt problem är:du har XML med en encoding="utf-16" , men din kolumn är en icke-Unicode-kolumn......

Förutsatt att du inte kan ändra det till NTEXT antingen måste du göra två kapslade CAST för att uppnå det du letar efter:

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

Först måste du casta till NTEXT (eller NVARCHAR(MAX) ), och sedan måste du casta det resultatet till XML , innan du kan använda den.

Tips: ta bort dessa "andra skäl" och konvertera detta till XML datatyp om du verkligen behöver använda den som XML .....



  1. Förstå ProxySQL-granskningsloggen

  2. bättre sätt att generera månader/år tabell

  3. Grunderna för PostgreSQL Schema Management

  4. SET och Select Query kombinerar Kör i en enda MySql-fråga för att klara resultatet i pentaho