SQLServerでカンマ区切り (CSV) で文字列取得

公開日: : 最終更新日:2014/05/19 SQL Server , , , ,

SQLの取得結果をカンマ区切りで取得

Where句のINにSQLで取得した結果を直接利用したり
するのに、SQLServerで複数件存在するデータを
1行のカンマ区切りのデータとして取得して見ます。
(残念ですがOracleやMySQLなどではこの方法は通用しません。)

取得

カンマ区切りで取得するには列名を「data()」にすることで
アトミック値として処理し、その結果を「FOR XML PATH」を
利用して細工します。

取得結果

RESULT
太郎さん,次郎さん,三郎さん

取得した結果でカンマ区切り (CSV)ファイルを作成するには
便利です。

補足

カラムに付けている別名「data()」ですが、
パスを data() として指定した列の名前を参照すると


列名として指定したパスが “data()” の場合、生成される
XMLでは列の値がアトミック値として処理されます。

とあり、「data()」を他の名称「aaa()」のように変えると

RESULT
太郎さん
次郎さん
三郎さん

のように普通に取得してしまいます。

またアトミック操作とは不可分操作を参照すると


不可分操作(ふかぶんそうさ)あるいはアトミック操作 (Atomic Operation)
とは、情報工学においていくつかの操作を組み合わせたもので、
システムの他の部分から見てそれらがひとつの操作に見えるものをいう。

と言うことで、SELECT結果が複数件あっても1つの操作の結果に見えると。
う~ん、難しい。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

SQLでCASE~WHENを使ってみる(2)

CASE~WHENはSQLでCASE~WHENを使ってみるとは別に WHENの後に評価させる式を書

記事を読む

CREATE TABLE,ALTER TABLEでテーブルのプライマリーキー(PK)を作成する

SQL ServerでSQLを使用してプライマリーキー(PK)を作成します。 テーブル作成時(

記事を読む

指定した列名がどのテーブルで使用されているか検索するSQL

指定した列名を利用しているテーブルを検索 SQLServerで指定した列名がどのテーブルで使用され

記事を読む

SQL Server のファイルサイズを圧縮する

データベースファイルのサイズを圧縮する データベースファイル(.mdf)またはトランザクションログ

記事を読む

SQLServerのバージョン番号を取得する方法

SQLServerのバージョン番号を取得する SQLServerのバージョン番号は「@@VERSI

記事を読む

SQLで月曜日始まりのカレンダー作成

カレンダー作成 SQLServerで月曜日始まりの1週間分のカレンダーを作成します。 実行す

記事を読む

SQLServer

テーブルのプライマリキー(PK)を取得する(SQL編)

SQLServerでテーブルのプライマリキー(PK)をSQLで取得する SQLServerでテーブ

記事を読む

TOP句で変数を使ってSQLを1行にする

TOP句で変数を使ってSQLを1行にする TOP句を使って複雑なSQLを簡単にします。 SE

記事を読む

SQLサーバ

DATETIMEデータ型のミリ秒丸め現象

DATETIMEデータ型のミリ秒には丸めがあります SQLServerのDATETIMEデータ

記事を読む

テーブルにユニークインデックス(UNIQUE INDEX)を作成する

テーブルにユニークインデックス(UNIQUE INDEX)を作成 すでに作成したテーブルにユニ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

SQLで西暦から和暦変換を行う

SQLを使って西暦から和暦変換を行う SQLServerには西暦

SQLServer
SQLServerでストアドプロシージャ名を取得する

SQLServerでストアドプロシージャ名を取得する ストアドプ

SQLServer
テーブルのプライマリキー(PK)を取得する(SQL編)

SQLServerでテーブルのプライマリキー(PK)をSQLで取得する

SQLServerのダミーテーブル

SQLServerでダミーテーブルを使う データベースサーバから

SQLで当月の第何週目の何曜日か取得する

SQLで今日は第何週、何曜日か取得する SQLServerでは関数で

→もっと見る



PAGE TOP ↑