SQL Server データ型と例
⚡ スマートサマリー
SQL Serverのデータ型は、列や変数に格納できる値の種類を定義します。例えば、整数、小数、文字、日付、バイナリなどがあります。適切な型を選択することで、有効なデータが保持され、メモリを効率的に使用できます。

データ型とは何ですか?
データ型 MS SQL Server は、列や変数が格納できるデータの型として定義されます。これは、整数、文字、文字列など、オブジェクトが保持するデータの種類です。 テーブル or 変数名前を指定するだけでなく、保存するデータの種類も設定します。
MS SQLデータ型の使用方法
列や変数に格納できるデータの種類を事前に定義する必要があります。データの種類を定めることで、ユーザーが予期しないデータや無効なデータを入力することを防ぐことができます。
変数や列に適切なデータ型を割り当てることで、メモリを効率的に利用できます。これにより、その列のデータに必要な量のシステムメモリのみが割り当てられます。
MS SQL は、幅広い基本データ型を提供します。 SQL 日付、バイナリ、画像など、ユーザーのニーズに合わせて。
DataType を使用する理由
ウェブサイトのアプリケーション用のシンプルな登録ページを例に考えてみましょう。入力欄は、名、姓、連絡先電話番号の3つです。
ここで注目すべきは、実際の状況では次の点である。
- 「名/姓」は常にアルファベット順になります。
- 「連絡先」は常に数字で表される。
以下の例は、登録フォームにおけるこれらの項目を示しています。
上記の図から判断すると、「名/姓」を文字、「連絡先」を整数として定義するのが妥当である。
どのようなアプリケーションにおいても、すべてのフィールドには、数値、英字、日付など、何らかの種類のデータが含まれていることは明らかです。
また、データ型によって必要なメモリ量が異なる点にも注意してください。そのため、メモリを効率的に使用するには、列や変数を格納するデータ型を事前に定義しておく方が賢明です。
MS SQL Serverで利用可能なデータ型
以下は、MS SQL Server のデータ型の一覧です。MS SQL Server は、以下のカテゴリのデータ型をサポートしています。
- 正確な数値
- おおよその数値
- 日時
- 文字列
- Unicode文字列
- バイナリ文字列
- 他のデータ型
以下の図は、MS SQL Serverのデータ型をこれらのカテゴリに分類したものです。
SQL の正確な数値データ型
SQL ServerのExact numericには9つのサブデータ型があります。それぞれが、定義された範囲内の整数または固定小数点数を格納します。
| Data Type | 詳細説明 | 下限 | 上限 | メモリ |
|---|---|---|---|---|
| bigint | 指定された範囲内の整数を格納します | −2^63 (−9,223,372,036,854,775,808) | 2^63−1 (9,223,372,036,854,775,807) | 8バイト |
| int型 | 指定された範囲内の整数を格納します | −2^31 (−2,147,483,648) | 2^31−1 (2,147,483,647) | 4バイト |
| 小さい整数 | 指定された範囲内の整数を格納します | −2^15 (−32,768) | 2^15−1 (32,767) | 2バイト |
| タイニーント | 指定された範囲内の整数を格納します | 0 | 255 | 1バイト |
| ビット | 0、1、または NULL 値を取ることができます。 | 0 | 1 | 1バイト/8ビット列 |
| 10進数 | スケールと固定精度の数値に使用されます | −10^38+1 | 10^38−1 | 5〜17バイト |
| 数値の | スケールと固定精度の数値に使用されます | −10^38+1 | 10^38−1 | 5〜17バイト |
| お金 | 金銭データに使用される | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 | 8バイト |
| 小額 | 金銭データに使用される | -214,478.3648 | +214,478.3647 | 4バイト |
SQL Serverにおける正確な数値データ型とその例:
クエリ:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
出力:
2
構文:
Decimal (P,S)
ここで、Pは精度、Sはスケールを表す。
クエリ:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
出力:
2.31
SQL の近似数値データ型
SQLの近似数値カテゴリには、浮動小数点数と実数値が含まれます。これらのデータ型は主に科学計算で使用されます。
| Data Type | 詳細説明 | 下限 | 上限 | メモリ | 精度 |
|---|---|---|---|---|---|
| 浮動小数点(n) | 浮動小数点精度の数値に使用されます | −1.79E+308 | 1.79 + 308 | nの値に依存します | 15桁 |
| リアル | 浮動小数点精度の数値に使用されます | −3.40E+38 | 3.40 + 38 | 4バイト | 7桁 |
float型は以下の構文を使用します。
Syntax: FLOAT [(n)]
ここで、nは、科学的記数法で表された浮動小数点数の仮数部を格納するために使用されるビット数です。デフォルトでは、nの値は53です。
float のようなデータ型を定義する場合、n は 1 から 53 の間の値である必要があります。SQL Server では、n は 2 つの値のいずれかとして扱われます。1 <= n <= 24 の場合、n は 24 として扱われます。25 <= n <= 53 の場合、n は 53 として扱われます。
クエリの例:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
出力:
22.1234
SQL の日付と時刻のデータ型
このカテゴリには、日付と時刻のデータが格納されます。
| Data Type | 詳細説明 | ストレージサイズ | 精度 | 低い範囲 | アッパーレンジ |
|---|---|---|---|---|---|
| 日付時刻 | 1 年 1753 月 31 日から 9999 年 3.33 月 XNUMX 日までの日付と時刻を指定するために使用されます。精度は XNUMX ミリ秒です。 | 8バイト | .000、.003、.007 の増分に四捨五入 | 1753-01-01 | 9999-12-31 |
| 小さい | 1900年1月1日から2079年6月6日までの日付と時刻を指定するために使用されます。精度は1分です。 | 4バイト、固定 | 1 minute | 1900-01-01 | 2079-06-06 |
| date | 0001年1月1日から9999年12月31日までの日付のみを保存するために使用されます。 | 3バイト、固定 | 1日 | 0001-01-01 | 9999-12-31 |
| 時間 | 100ナノ秒の精度で時間値のみを保存するために使用されます。 | 5バイト | 100ナノ秒 | 00:00:00.0000000 | 23:59:59.9999999 |
| 日時オフセット | datetimeに似ているが、タイムゾーンオフセットがある | 10バイト | 100ナノ秒 | 0001-01-01 | 9999-12-31 |
| 日時2 | 1年0001月31日から9999年XNUMX月XNUMX日までの日時を指定する場合に使用します。 | 6バイト | 100ナノ秒 | 0001-01-01 | 9999-12-31 |
クエリの例:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
出力:
「2030-01-01」
SQL の文字列データ型
このカテゴリは文字型に関するものです。固定長および可変長の文字データを定義できます。データ型は4種類あります。以下に、文字列データ型とその例を示します。
| Data Type | 詳細説明 | 下限 | 上限 | メモリ |
|---|---|---|---|---|
| チャリオット | 固定幅の文字列です。 最大 8,000 文字を保存します。 | 0文字 | 8000文字 | n バイト |
| varchar | これは可変幅の文字列です。 | 0文字 | 8000文字 | nバイト+2バイト |
| varchar (最大) | 幅が可変の文字列です。 最大 1,073,741,824 文字を保存します。 | 0文字 | 2^31 文字 | nバイト+2バイト |
| 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. | これは可変長の文字列です。最大2GBのテキストデータを格納できます。 | 0文字 | 2,147,483,647文字 | nバイト+4バイト |
クエリの例:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
出力:
これは文字データ型です
SQL の Unicode 文字列データ型
このカテゴリには、UTF-16文字エンコーディングを使用するUnicode文字の全範囲が格納されます。
| Data Type | 詳細説明 | 下限 | 上限 | メモリ |
|---|---|---|---|---|
| ンチャー | これは固定幅のUnicode文字列です。 | 0文字 | 4000文字 | nバイトの2倍 |
| ンバーチャー | これは可変長のUnicode文字列です。 | 0文字 | 4000文字 | 2 × n バイト + 2 バイト |
| ntext | これは可変長のUnicode文字列です。 | 0文字 | 1,073,741,823文字 | 文字列の長さの 2 倍 |
クエリの例:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
出力:
これは nCharacter データ型です
SQL のバイナリ文字列データ型
このカテゴリには、固定長および可変長のバイナリ文字列が含まれます。
| Data Type | 詳細説明 | 下限 | 上限 | メモリ |
|---|---|---|---|---|
| バイナリ | これは固定幅のバイナリ文字列です。最大8,000バイトを格納できます。 | 0バイト | 8000バイト | n バイト |
| バイナリ | これは可変長のバイナリ文字列です。最大8,000バイトを格納できます。 | 0バイト | 8000バイト | 実際に入力されたデータの長さ + 2 バイト |
| 画像 | これは可変長のバイナリ文字列です。最大2GBのデータを格納できます。 | 0バイト | 2,147,483,647バイト | - |
クエリの例:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
出力:
0x000C
SQL のその他のデータ型
以下は、その他のSQL Serverデータ型とその説明です。
| Data Type | 詳細説明 |
|---|---|
| カーソル | その出力は、sp_cursor_listとsp_describe_cursorの列です。カーソル変数の名前を返します。 |
| 行バージョン | テーブルの各行にバージョン番号を付与します。 |
| 階層化 | このデータ型は、階層構造における位置を表します。 |
| 一意の識別子 | GUIDを格納します。多くの場合、文字式から変換されます。 |
| SQL_variant | SQL Serverでサポートされているデータ型の値を格納します。 |
| XML | XML データを列に格納します。 |
| 空間ジオメトリのタイプ | データを平面座標系で表します。 |
| 空間地理タイプ | データは地球座標系で表されます。 |
| テーブル | 後で処理するために結果セットを保存します。 |
興味深い事実!
- CHARデータ型は、固定幅のため長さの記録が不要になるため、データの取得時にVARCHARデータ型よりも高速です。ping.


