문자열 데이터 형식에 대한 FOR XML 지원

SQL Server 2000에서 데이터의 공백 문자는 있는 그대로 반환되었습니다. SQL Server 2005 에서는 데이터의 FOR XML 공백 문자로 생성된 XML이 올바르게 수정됩니다.

다음 예에서는 예제 테이블 T를 만들고 줄 바꿈, 캐리지 리턴 및 탭 문자가 있는 예제 데이터를 삽입합니다. SELECT 문은 테이블에서 데이터를 검색합니다.

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

다음은 결과입니다.

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

이전 쿼리에서 다음을 유의하십시오.

  • 첫 행의 캐리지 리턴은 &#xD로 수정됩니다.
  • 두 번째 행의 탭 문자는 &#x09로 수정됩니다.
  • 세 번째 행의 줄 바꿈 문자는 &#xA로 수정됩니다.

SQL Server 2000에서는 공백이 올바르게 수정되지 않으므로 다음과 같은 결과를 얻습니다.

<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"/>
    

참고 항목

참조

다양한 SQL Server 데이터 형식에 대한 FOR XML 지원

도움말 및 정보

SQL Server 2005 지원 받기