This code
DECLARE @x xml
SET @x = ( SELECT 'A & B > C' FOR XML PATH('') )
PRINT CAST(@x AS nvarchar(1000))
Return:
A & B > C
How obtain my original string 'A & B > C'? (with no XML entities)
DECLARE @x xml
SET @x = ( SELECT 'A & B > C' FOR XML PATH('') )
SELECT @x.value('.', 'nvarchar(1000)')
If you absolutely need to use print you have to store the result from value
in variable before printing.
DECLARE @x xml
SET @x = ( SELECT 'A & B > C' FOR XML PATH('') )
DECLARE @y nvarchar(1000)
SET @y = @x.value('.', 'nvarchar(1000)')
PRINT @y
Result:
A & B > C