2

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)

Mikael Eriksson
  • 136,425
  • 22
  • 210
  • 281
renegm
  • 610
  • 2
  • 5
  • 12

1 Answers1

4
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
Mikael Eriksson
  • 136,425
  • 22
  • 210
  • 281