Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Nie można przesłać TEKSTU do XML w SQL Server

Twój problem to:masz XML z encoding="utf-16" , ale Twoja kolumna jest kolumną inną niż Unicode......

Zakładając, że nie możesz go zmienić na NTEXT albo musisz wykonać dwa zagnieżdżone CAST aby osiągnąć to, czego szukasz:

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

Najpierw musisz przesłać do NTEXT (lub NVARCHAR(MAX) ), a następnie musisz rzutować ten wynik do XML , zanim będziesz mógł go użyć.

Wskazówka: usuń te „inne powody” i przekonwertuj to na XML typ danych, jeśli naprawdę potrzebujesz go używać jako XML .....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Serwer SQL Ignoruj ​​wyszukiwanie w polu, jeśli parametr ma wartość null

  2. Dziwny znak w bazie danych SQL

  3. LINQ + TransactionScope nie zmieni poziomu izolacji w programie SQL Server Profiler

  4. Nie można utworzyć wiersza o rozmiarze 8937, który jest większy niż dopuszczalne maksimum 8060

  5. Jak utworzyć śledzenie SQL w celu przechwytywania zdarzeń serwera SQL