「SQL Server - BULK INSERT」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…)
5行目: 5行目:
== BULK INSERTの例 ==
== BULK INSERTの例 ==
下記は、CSVファイル(カンマ区切り)をインポートする際の例である。<br><br>
下記は、CSVファイル(カンマ区切り)をインポートする際の例である。<br><br>
* '''文字コードがShift-JISの場合'''
* 文字コードがShift-JISの場合
<syntaxhighlight lang="sql">
  BULK INSERT T_Table
  BULK INSERT T_Table
         FROM 'D:\UnicodeFile.txt'
         FROM 'D:\UnicodeFile.txt'
13行目: 14行目:
         );
         );
  GO
  GO
</syntaxhighlight>
<br>
<br>
* '''文字コードがUNICODEの場合(SQL Server 2014 R2以前)'''
* 文字コードがUNICODEの場合 (SQL Server 2014 R2以前)
:ただし、SQL Server 2014 R2以前では、下記のクエリを実行しても UTF-8形式のファイルは取り込めない。
*: ただし、SQL Server 2014 R2以前では、下記のクエリを実行しても UTF-8形式のファイルは取り込めない。
:(UTF-8固有の文字が無いUTF-8形式のファイルはインポートできる)
*: (UTF-8固有の文字が無いUTF-8形式のファイルはインポートできる)
<syntaxhighlight lang="sql">
  BULK INSERT T_Table
  BULK INSERT T_Table
         FROM 'D:\UnicodeFile.txt'
         FROM 'D:\UnicodeFile.txt'
24行目: 27行目:
         );
         );
  GO
  GO
</syntaxhighlight>
<br>
<br>
* '''文字コードがUTF-8の場合(SQL Server 2014 R2以降)'''
* 文字コードがUTF-8の場合 (SQL Server 2014 R2以降)
:SQL Server 2014 R2以降では、UTF-8形式のファイルをインポートすることが出来る。
*: SQL Server 2014 R2以降では、UTF-8形式のファイルをインポートすることが出来る。
<syntaxhighlight lang="sql">
  BULK INSERT T_Table
  BULK INSERT T_Table
         FROM 'D:\UnicodeFile.txt'
         FROM 'D:\UnicodeFile.txt'
35行目: 40行目:
         );
         );
  GO
  GO
</syntaxhighlight>
<br><br>
<br><br>


{{#seo:
{{#seo:

2024年11月10日 (日) 16:04時点における版

概要

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