Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In SQL Server 2000 werden Leerzeichen genau so zurückgegeben, wie sie sind. In SQL Server 2005 werden die durch FOR XML-Leerzeichen generierten XML-Daten in Entitäten geändert.
Im folgenden Beispiel wird eine Beispieltabelle T erstellt und als Beispieldaten Zeilenvorschub-, Wagenrücklauf- und Tabstoppzeichen eingefügt. Die SELECT-Anweisung ruft die Daten aus der Tabelle ab.
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
Dies ist das Ergebnis:
<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" />
Beachten Sie hinsichtlich der vorherigen Abfrage Folgendes:
- Das Wagenrücklaufzeichen in der ersten Zeile wird in die Entität 
 geändert.
- Das Tabstoppzeichen in der zweiten Zeile wird in die Entität 	 geändert.
- Das Zeilenvorschubzeichen in der dritten Zeile wird in die Entität 
 geändert.
In SQL Server 2000 würden Sie folgendes Ergebnis erhalten, da die Leerzeichen nicht in Entitäten geändert werden:
<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"/>
Siehe auch
Verweis
FOR XML-Unterstützung für verschiedene SQL Server-Datentypen