「SQL Server - BULK INSERT」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
編集の要約なし |
||
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