SQL Server データ型と例

データ型とは何ですか?

A Data Type SQL サーバーでは、任意の列または変数が格納できるデータのタイプとして定義されます。 これは、整数、文字、文字列など、オブジェクトが保持するデータのタイプです。テーブルまたは変数を作成するときは、名前を指定するだけでなく、格納するデータのタイプも設定します。

MS SQLデータ型の使用方法

  • 列または変数に格納できるデータのタイプを事前に定義する必要があります。 データ型を決定すると、ユーザーが予期しないデータや無効なデータを入力することも制限されます。
  • 適切なデータ型を変数または列に割り当てることで、各列のデータに必要な量のシステム メモリのみが割り当てられるため、メモリを効率的に使用できます。
  • MS SQL は、日付、バイナリ イメージなど、ユーザーのニーズに応じて SQL の基本データ型の幅広いカテゴリを提供します。

DataType を使用する理由

簡単なサンプルを見てみましょう サインアップページ XNUMX つの入力フィールドは、名、姓、連絡先番号です。

ここで、リアルタイムで次のことに注意してください。

  • 「姓/名」 常になります アルファベット.
  • "連絡先" 常になります 数値の.
SQL Serverのデータ型
MS SQLのデータ型の例
  • 上の図から、定義する価値があります 「姓/名」 として 文字 "連絡先" として 整数.

どのようなアプリケーションでも、すべてのフィールドにいずれかのタイプのデータがあることは明らかです。 たとえば、数値、アルファベット、日付などです。

また、データ型が異なればメモリ要件も異なることに注意してください。 したがって、列を定義するか、 変数 メモリを効率的に使用するために保持するデータ型を指定します。

MS SQL Serverで利用可能なデータ型

MS SQL サーバーのデータ型のリストは次のとおりです。

MS SQLサーバー 次のカテゴリのデータ型をサポートします:

  • 正確な数値
  • おおよその数値
  • 日時
  • 文字列
  • Unicode文字列
  • バイナリ文字列
  • 他のデータ型
MS SQL Serverで利用可能なデータ型

MS SQL データ型

SQL の正確な数値データ型

SQL Server では、Exact numeric には XNUMX 種類のサブデータ型があります。

正確な数値データ型

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,767) 2^15 (−32,768) 2バイト
タイニーント 指定された範囲内の整数を格納します 0 255 1バイト
ビット 0、1、または NULL 値を取ることができます。 0 1 1バイト/8ビットカラム
10進数 スケールと固定精度の数値に使用されます −10^38+1 10^381−1 5〜17バイト
数値の スケールと固定精度の数値に使用されます −10^38+1 10^381−1 5〜17バイト
お金 使用された通貨データ −922,337、203、685,477.5808 +922,337、203、685,477.5807 8バイト
小額 使用された通貨データ -214,478.3648 +214,478.3647 4バイト

正確な数値データ型 SQLサーバー 例付き:

クエリ:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

出力

2

構文

XNUMX 進数 (P、S)

ここでは、

  • P は精度です
  • Sはスケールです

クエリ:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31
PRINT @Datatype_Decimal

出力

2.31

SQL の近似数値データ型

SQL 近似数値カテゴリには、浮動小数点と実数値が含まれます。 SQL のこれらのデータ型は、主に科学計算で使用されます。

近似数値データ型

Data Type 説明 下限 上限 メモリ 精度
浮動小数点(n) 浮動小数点精度の数値に使用されます −1.79E+308 1.79 + 308 nの値に依存します 7 Digit
リアル 浮動小数点精度の数値に使用されます −3.40E+38 3.40 + 38 4バイト 15 Digit
Syntax:  FLOAT [(n)]

ここでは、 n 仮数を格納するために使用されるビット数です。 フロート 科学的表記法の数値。 デフォルトでは、n の値は 53 です。

ユーザーが float のようなデータ型を定義すると、 n 1 ~ 53 の値にする必要があります。

SQL Server の扱い n 1 つの可能な値のいずれかとして指定します。 24<=n<=24 の場合、n は 25 として扱われます。53<=n<=53 の場合、n は XNUMX として扱われます。

クエリの例:

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
小さい 1 年 0001 月 31 日から 9999 年 100 月 XNUMX 日までの日付と時刻を指定するために使用されます。精度は XNUMX ナノ秒です。 4バイト、固定 1 minute 1900-01-01 2079-06-06
date 1 年 0001 月 31 日から 9999 年 XNUMX 月 XNUMX 日までの日付のみを保存するために使用されます。 3バイト、固定 1日 0001-01-01 9999-12-31
時間 100 ナノ秒の精度で時間のみの値のみを保存するために使用されます。 5バイト 100ナノ秒 00:00:00.0000000 23:59:59.9999999
日時オフセット datatime に似ていますが、タイム ゾーン オフセットがあります。 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 の文字列データ型

このカテゴリは文字タイプに関連しています。 これにより、ユーザーは固定長および可変長の文字のデータ型を定義できます。 XNUMX種類のデータ型があります。 以下に、SQL サーバーの文字列データ型と例を示します。

文字列のデータ型

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 文字の全範囲が保存されます。

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 サーバー データ型であり、以下に説明します。

Data Type 説明
カーソル その出力は次の列です。 sp_cursor_listsp_describe_cursor。
カーソル変数の名前を返します。
行バージョン テーブル行のバージョンスタンプを作成します。
階層化 このデータ型は階層内の位置を表します
一意の識別子 文字式からの変換。
SQL_variant SQL サーバーがサポートするデータ型の値を保存します。
XML XML データを列に格納します。
空間ジオメトリのタイプ データを平面座標系で表します。
空間地理タイプ データは地球座標系で表されます。
テーブル 後で処理するために結果セットを保存します。

興味深い事実!

  • CHARデータ型 データの取得中は SQL VARCHAR データ型よりも高速です。

まとめ

  • テーブル内のすべての列は、テーブルの作成時にそのデータ型で定義されます。
  • 6つの主要カテゴリと1つのその他のカテゴリがあります。その他のカテゴリには9つのサブカテゴリがあります。 SQLサーバー 利用可能なデータ型とサイズ。