Basically I have a column named XML
that is of type TEXT
; this cannot be changed for other reason, but I was wondering how I could cast it to XML.<
Your problem is: you have XML with an encoding="utf-16"
, but your column is a non-Unicode column......
Assuming that you cannot change it to NTEXT
either, you have to do two nested CAST
to achieve what you're looking for:
SELECT
CAST(CAST(XML AS NTEXT) AS XML).value('(/Record/UserGuid)[1]', 'NVARCHAR(max)')
FROM
tbl_Module_RequestForms_Items
First, you need to cast to NTEXT
(or NVARCHAR(MAX)
), and then you have to cast that result to XML
, before you can use it.
Tip: remove those "other reasons" and convert this to XML
datatype if you really need to use it as XML .....