프로그래밍/DB

[DB] MSSQL 조회결과를 XML로 (for xml auto)

ss-pro 2023. 12. 20. 00:33
반응형

MSSQL데이터를 XML로 직렬화 해서 하는 방법중에 XML로 변환해주는 방법입니다.  

1. 테이블 전체 내용을 XML으로 만들기 

pubs데이터베이스의 titles테이블 SELECT결과입니다. 아래와 같이 전체 조회한 결과는 아래 이미지와 같습니다. 

SELECT * FROM titles for xml auto  명령문으로 조회결과를 xml자료로 만들어 보겠습니다. 아래와 같이 결과값이 나타납니다.  쿼리결과에 보면 xml으로 변경된 부분을 알수 있습니다. 해당부분  결과값을 클릭합니다. 

실행결과를 클릭하면 새 쿼리창에 복사하면 XML형태의 파일로 실행결과값이 변환 된 부분을 확인 할 수 있습니다. 

2. 테이블조회시 Alias를 이용하여 XML결과 만들기 

쿼리결과값을 XML형태로 만들어 주기때문에 필드명에 Alias를 적용하거나 CASE WHEN문을 사용해서 결과값을 원하는 형태로 맞게 하면 해당결과를 xml으로 변경해서 출력됩니다. 

참고로 Json으로 변경하는 부분은 이전에 포스팅 한 링크( https://sosopro.tistory.com/136 )를 참조하시기 바랍니다. json의 경우는  for json auto명령을 사용하고  MSSQL 2016이상버전에만 지원됩니다.  for xml auto는 mssql 2005버전에도 지원이 되기때문에 구 버전에 설치된 데이터를 직렬화 할때 유용하게 사용할 수 있습니다.