「SQL Server - BULK INSERT」の版間の差分
提供: MochiuWiki : SUSE, EC, PCB
編集の要約なし |
編集の要約なし |
||
| 37行目: | 37行目: | ||
<br><br> | <br><br> | ||
__FORCETOC__ | |||
[[カテゴリ:SQL_Server]] | [[カテゴリ:SQL_Server]] | ||
2019年7月5日 (金) 04:58時点における版
概要
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