---
title: "CSV を SQL Server に変換"
description: "CSV ファイルをブラウザ上で SQL Server 用の SQL に変換します。型付きの列を持つ CREATE TABLE と、続く INSERT 文を作成します。無料で、ファイルはアップロードされません。"
canonical: https://intosql.com/ja/csv-to-sql-server
last_updated: 2026-10-15
---

# CSV を SQL Server に変換

CSV ファイルをドロップすると、CREATE TABLE と INSERT 文を含む SQL Server 用のスクリプトができます。各列に型を付け、すべての修正を行と列とともに一覧にします。

## CSV から SQL Server へ、列ごとに

上のサンプル ventas_2024.csv を IntoSQL が SQL Server 用に書き出した結果です。各列のファイル内の内容、付く型、最初の値がスクリプトでどうなるかを示します。

| ファイル内 | 最初の値 | 列 | SQL Server の型 | スクリプト内 |
| --- | --- | --- | --- | --- |
| Folio | `00412` | `folio` | `nvarchar(8)` | `N'00412'` |
| Cliente | `Peña Muñoz` | `cliente` | `nvarchar(16)` | `N'Peña Muñoz'` |
| Ciudad | `Mérida` | `ciudad` | `nvarchar(16)` | `N'Mérida'` |
| Fecha | `15/02/2024` | `fecha` | `date` | `'2024-02-15'` |
| Importe | `1.234,50` | `importe` | `decimal(6,2)` | `1234.50` |
| Pagado | `sí` | `pagado` | `bit` | `1` |

## スクリプトを SQL Server に読み込む

ダウンロードされるのは普通の .sql ファイルです。SQL Server 付属のツールで実行してください。

### SQL Server

```shell
sqlcmd -S localhost -d mydb -f 65001 -i ventas_2024.sql_server.sql
```

-f 65001 でファイルを UTF-8 として読むため、アクセント記号や ñ は書かれたとおりに届きます。 SQL Server Management Studio や Azure Data Studio では、ファイルを開いて Execute を選びます。

## IntoSQL が CSV ファイルから読み取るもの

- Windows-1252 や UTF-16 を含め文字コードを判別するので、アクセント記号や ñ もそのまま届きます。
- 区切り文字を判別します。カンマ、セミコロン、タブ、縦線に対応しています。セミコロン区切りでは、1.234,50 のような小数点のカンマを数値として読み取ります。
- 引用符で囲まれた値には、区切り文字や改行を含められます。

## SQL Server について知っておくこと

- テキストは N'...' の値を使った nvarchar なので、アクセント記号も失われません。4000 文字を超えるテキストは nvarchar(max) になります。
- はい/いいえの値は bit に、時差付きの日付は datetimeoffset になります。
- 長い値は分割して書き込まれるので、sqlcmd や SQL Server Management Studio でもスクリプトを実行できます。

### SQL Server で各種類の値がどう保存されるか

| 値 | SQL Server |
| --- | --- |
| はい/いいえ | `bit` |
| 整数 | `int` |
| 大きな整数 | `bigint` |
| 小数 | `decimal(p,s)` |
| 浮動小数点数 | `float` |
| 日付 | `date` |
| 時刻 | `time` |
| 日付と時刻 | `datetime2` |
| 日付と時刻、時差付き | `datetimeoffset` |
| テキスト | `nvarchar(n) · nvarchar(max)` |

## CSV から SQL Server への変換に関する質問

### CSV を SQL Server に変換するには？

このページ上部のコンバーターにファイルをドロップしてください。ヘッダーを見つけ、すべての値を読み取り、行った修正を一覧にしながら SQL Server 用のスクリプトを書き出します。スクリプトをダウンロードし、sqlcmd で実行してください。

### CSV の区切りがセミコロンやタブの場合は？

区切り文字はカンマ、セミコロン、タブ、縦線から自動で検出されます。「その他のオプション」で指定することもできます。セミコロン区切りでは、1.234,50 のような小数点カンマも数値として読み取ります。

### SQL Server ではどの型を使いますか？

はい/いいえの値は bit、整数は int、小数は decimal(p,s)、日付は date、時刻付きの日付は datetime2、テキストは nvarchar(n) になります。サイズは各列の最も長い値から決まります。

### SQL Server で先頭のゼロは残りますか？

はい。00412 のようなコードはテキストのまま扱われるため、SQL Server では nvarchar(8) として保存され、スクリプトには N'00412' と書かれます。

### スクリプトを使わずに SQL Server にデータを読み込めますか？

いいえ。スクリプトをダウンロードし、sqlcmd で実行してください。スクリプトなしの読み込みは、デスクトップアプリかコマンドラインから PostgreSQL、MySQL、MariaDB、SQLite に対して使えます。

### CSV ファイルはどのくらいの大きさまで扱えますか？

ブラウザは CSV を流れてくる順に読むため、数 GB のファイルも扱えます。Apple M4 のノートパソコンでは、コマンドラインが 100 万行・174 MB の CSV を 1 秒未満で変換します。

## CSV から他のデータベースへ

- [CSV を SQL に変換](https://intosql.com/ja/csv-to-sql)
- [CSV を PostgreSQL に変換](https://intosql.com/ja/csv-to-postgresql)
- [CSV を MySQL に変換](https://intosql.com/ja/csv-to-mysql)
- [CSV を MariaDB に変換](https://intosql.com/ja/csv-to-mariadb)
- [CSV を SQLite に変換](https://intosql.com/ja/csv-to-sqlite)
- [CSV を Oracle に変換](https://intosql.com/ja/csv-to-oracle)

## 他のファイルから SQL Server へ

- [Excel を SQL Server に変換](https://intosql.com/ja/excel-to-sql-server)
- [JSON を SQL Server に変換](https://intosql.com/ja/json-to-sql-server)
