Compartir a través de


Compatibilidad de FOR XML con tipos de datos de cadena

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Se crea una entidad del XML generado por los caracteres de espacio en blanco de FOR XML en los datos.

En el ejemplo siguiente se crea una tabla de ejemplo T y se insertan datos de ejemplo que incluyen los caracteres de avance de línea, retorno de carro y tabulación. Con la instrucción SELECT se recuperan los datos de la tabla.

CREATE TABLE T (
    c1 INT identity PRIMARY KEY,
    c2 VARCHAR(100)
);
GO

INSERT T (c2)
VALUES ('Special character 0xD for carriage return ' + CONVERT(VARCHAR(10), 0xD) + ' after carriage return');

INSERT T (c2)
VALUES ('Special character 0x9 for tab ' + CONVERT(VARCHAR(10), 0x9) + ' after tab');

INSERT T (c2)
VALUES ('Special character 0xA for line feed ' + CONVERT(VARCHAR(10), 0xA) + ' after line feed');
GO

SELECT * FROM T
FOR XML AUTO;
GO

El conjunto de resultados es el siguiente:

<T c1="1" c2="Special character 0xD for carriage return
after carriage return" />
<T c1="2" c2="Special character 0x9 for tab     after tab" />
<T c1="3" c2="Special character 0xA for line feed
after line feed" />

Observe lo siguiente en la consulta anterior:

  • Se crea la entidad &#xD para el retorno de carro de la primera fila.
  • Se crea la entidad &#x09 para el carácter de tabulación de la segunda fila.
  • Se crea la entidad &#xA para el carácter de avance de línea de la tercera fila.