SQL Server - BULK INSERT
ナビゲーションに移動
検索に移動
概要
SQL Serverにおいて、ユーザが指定した形式でデータベーステーブルまたはビューにデータファイルをインポートしたい時がある。
テキストファイルまたはCSVファイルをインポートする時、BULK INSERT文を使用する。
BULK INSERTの例
下記は、CSVファイル(カンマ区切り)をインポートする際の例である。
- 文字コードがShift-JISの場合
BULK INSERT T_Table
FROM 'D:\UnicodeFile.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ','
);
GO
- 文字コードがUNICODEの場合 (SQL Server 2014 R2以前)
- ただし、SQL Server 2014 R2以前では、下記のクエリを実行しても UTF-8形式のファイルは取り込めない。
- (UTF-8固有の文字が無いUTF-8形式のファイルはインポートできる)
BULK INSERT T_Table
FROM 'D:\UnicodeFile.txt'
WITH (
DATAFILETYPE = 'widechar',
FIELDTERMINATOR = ','
);
GO
- 文字コードがUTF-8の場合 (SQL Server 2014 R2以降)
- SQL Server 2014 R2以降では、UTF-8形式のファイルをインポートすることが出来る。
BULK INSERT T_Table
FROM 'D:\UnicodeFile.txt'
WITH (
DATAFILETYPE = 'char',
CODEPAGE = '65001',
FIELDTERMINATOR = ','
);
GO