sql >> Database >  >> RDS >> Sqlserver

Kan TEXT niet casten naar XML in SQL Server

Uw probleem is:u heeft XML met een encoding="utf-16" , maar uw kolom is een niet-Unicode-kolom......

Ervan uitgaande dat u het niet kunt wijzigen in NTEXT ofwel, je moet twee geneste CAST . doen om te bereiken wat u zoekt:

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

Eerst moet je casten naar NTEXT (of NVARCHAR(MAX) ), en dan moet je dat resultaat casten naar XML , voordat u het kunt gebruiken.

Tip: verwijder die "andere redenen" en converteer dit naar XML datatype als je het echt als XML moet gebruiken .....



  1. MySQL IN voorwaarde limiet

  2. Eenvoudigste manier om een ​​boom te bouwen uit een lijst met voorouders

  3. PictureBox-afbeelding laden uit database

  4. Verschillende manieren om tabellen in MySQL Server te bekijken