今回はSQL ServerでデータをXML形式で取得する方法について書いていきます。
FOR XML PATH
SQL Serverには「FOR XML PATH」という関数があって、SQL分の末尾につけることによって、
データをXML形式で取得することが可能となっています。
例えば、以下のようなUsersテーブルがあるとします。
ID | USERNAME |
---|---|
001 | 太郎 |
002 | 次郎 |
003 | 三郎 |
このとき、このテーブルのデータをXML形式で取得する場合、以下のようなSQL文を書きます。
SELECT * FROM Users FOR XML PATH('row')
<row>
<NO>1</NO>
<ID>001</ID>
<USERNAME>太郎</USERNAME>
</row>
<row>
<NO>2</NO>
<ID>002</ID>
<USERNAME>次郎</USERNAME>
</row>
<row>
<NO>3</NO>
<ID>003</ID>
<USERNAME>三郎</USERNAME>
</row>
このようにデータをXML形式で取得可能ですが、文字列型ではないためそのままでは文字列として加工等ができません。
あくまでも、XML形式なのでXML型を文字列型に変換してから加工等に使用する必要があります。