SQL Server データ型と例
データ型とは何ですか?
A Data Type SQL サーバーでは、任意の列または変数が格納できるデータのタイプとして定義されます。 これは、整数、文字、文字列など、オブジェクトが保持するデータのタイプです。テーブルまたは変数を作成するときは、名前を指定するだけでなく、格納するデータのタイプも設定します。
MS SQLデータ型の使用方法
- 列または変数に格納できるデータのタイプを事前に定義する必要があります。 データ型を決定すると、ユーザーが予期しないデータや無効なデータを入力することも制限されます。
- 適切なデータ型を変数または列に割り当てることで、各列のデータに必要な量のシステム メモリのみが割り当てられるため、メモリを効率的に使用できます。
- MS SQL は、日付、バイナリ イメージなど、ユーザーのニーズに応じて SQL の基本データ型の幅広いカテゴリを提供します。
DataType を使用する理由
簡単なサンプルを見てみましょう サインアップページ XNUMX つの入力フィールドは、名、姓、連絡先番号です。
ここで、リアルタイムで次のことに注意してください。
- 「姓/名」 常になります アルファベット.
- "連絡先" 常になります 数値の.
- 上の図から、定義する価値があります 「姓/名」 として 文字 と "連絡先" として 整数.
どのようなアプリケーションでも、すべてのフィールドにいずれかのタイプのデータがあることは明らかです。 たとえば、数値、アルファベット、日付などです。
また、データ型が異なればメモリ要件も異なることに注意してください。 したがって、列を定義するか、 変数 メモリを効率的に使用するために保持するデータ型を指定します。
MS SQL Serverで利用可能なデータ型
MS SQL サーバーのデータ型のリストは次のとおりです。
MS SQLサーバー 次のカテゴリのデータ型をサポートします:
- 正確な数値
- おおよその数値
- 日時
- 文字列
- Unicode文字列
- バイナリ文字列
- 他のデータ型
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_list と sp_describe_cursor。 カーソル変数の名前を返します。 |
行バージョン | テーブル行のバージョンスタンプを作成します。 |
階層化 | このデータ型は階層内の位置を表します |
一意の識別子 | 文字式からの変換。 |
SQL_variant | SQL サーバーがサポートするデータ型の値を保存します。 |
XML | XML データを列に格納します。 |
空間ジオメトリのタイプ | データを平面座標系で表します。 |
空間地理タイプ | データは地球座標系で表されます。 |
テーブル | 後で処理するために結果セットを保存します。 |
興味深い事実!
- CHARデータ型 データの取得中は SQL VARCHAR データ型よりも高速です。
まとめ
- テーブル内のすべての列は、テーブルの作成時にそのデータ型で定義されます。
- 6つの主要カテゴリと1つのその他のカテゴリがあります。その他のカテゴリには9つのサブカテゴリがあります。 SQLサーバー 利用可能なデータ型とサイズ。