データ型

Microsoft SQL Server Compact 4.0 データベースのテーブル内の各列では、一連のデータ型がサポートされており、列で保持できるデータの型を指定できます。

注意

MicrosoftSQL Server と SQL Server Compact 4.0 の間では、関数の実行結果としてオーバーフローまたはアンダーフローが発生したときにデータ型を変更する方法が若干異なる場合があります。

SQL Server Compact 4.0 では、以下のデータ型がサポートされています。

データ型

説明

bigint

-2^63 (-9,223,372,036,854,775,808) から 2^63-1 (9,223,372,036,854,775,807) までの整数データを格納するデータ型です。記憶域のサイズは 8 バイトです。

integer

-2^31 (-2,147,483,648) から 2^31-1 (2,147,483,647) までの整数データを格納するデータ型です。

記憶域のサイズは 4 バイトです。

smallint

-32,768 から 32,767 までの整数データを格納するデータ型です。記憶域のサイズは 2 バイトです。

tinyint

0 から 255 までの整数データを格納するデータ型です。記憶域のサイズは 1 バイトです。

bit

値が 1 または 0 の整数データを格納するデータ型です。

記憶域のサイズは 1 ビットです。

numeric (p, s)

Synonyms:

decimal(p,s) and dec (p,s)

-10^38+1 から 10^38-1 までの固定された有効桁数と小数点以下桁数の数値データを格納するデータ型です。p 変数では、1 から 38 までの範囲で有効桁数を指定します。s 変数では、0 から p までの範囲で小数点以下桁数を指定します。

記憶域のサイズは 19 バイトです。

money

通貨単位の 10,000 分の 1 までの精度で、-2^63/10000 (-922,337,203,685,477.5808) から 2^63-1 (922,337,203,685,477.5807) までの金額データ値を格納するデータ型です。記憶域のサイズは 8 バイトです。

float

-1.79E + 308 から 1.79E + 308 までの浮動小数点数を格納するデータ型です。

記憶域のサイズは 8 バイトです。

real

-3.40E + 38 から 3.40E + 38 までの浮動小数点数を格納するデータ型です。

記憶域のサイズは 4 バイトです。

datetime

300 分の 1 秒、つまり 3.33 ミリ秒の精度で、1753 年 1 月 1 日から 9999 年 12 月 31 日までの日付と時刻のデータを格納するデータ型です。値は .000、.003、または .007 ミリ秒の単位になるように丸められます。

2 つの 4 バイト整数として格納されます。最初の 4 バイトは、base date である 1900 年 1 月 1 日からの日数、またはこの日までの日数を格納します。基準日とは、システムが参照する日付です。datetime 型の値には、1753 年 1 月 1 日より前の日付を使用できません。もう一方の 4 バイトは、午前 0 時から数えた時間をミリ秒単位で格納します。秒の有効範囲は 0 から 59 までです。

形式例
yyyy/mm/ddhh:mm:ss1947/08/15 03:33:20
mm/dd/yyyyhh:mm:ss04/15/1947 03:33:20
dd mmm yyyy hh:mm:ss15 Jan 1947 03:33:20
dd mmmm yyyy h:mm:ss15 January 1947 03:33:20

national character(n)

Synonym:nchar(n)

4,000 文字以内の固定長の Unicode データを格納するデータ型です。既定の長さは 1 です。記憶域のサイズは、入力した文字数の 2 倍のバイト数です。

national character varying(n)

Synonym:nvarchar(n)

長さが 1 から 4,000 文字までの可変長の Unicode データを格納するデータ型です。既定の長さは 1 です。記憶域のサイズは、入力した文字数の 2 倍のバイト数です。

ntext¹

(2^30 -2)/2 (536,870,911) 文字以内の可変長の Unicode データを格納するデータ型です。記憶域のサイズは、入力した文字数の 2 倍のバイト数です。

注意
ntext データ型は、文字列関数ではサポートされません。

nchar

n 文字の固定長の Unicode 文字データを格納するデータ型です。n の有効な値の範囲は 1 から 4,000 までです。記憶域のサイズは、n バイトの 2 倍です。

binary(n)

8,000 バイト以内の固定長のバイナリ データを格納するデータ型です。既定の長さは 1 です。

記憶域のサイズは、型で宣言された長さのバイト数で固定されます。

varbinary(n)

8,000 バイト以内の可変長のバイナリ データを格納するデータ型です。既定の長さは 1 です。

記憶域のサイズは変化します。このサイズは、値の長さのバイト数になります。

image¹

2^30 -1 (1,073,741,823) バイト以内の可変長のバイナリ データを格納するデータ型です。

記憶域は、値の長さのバイト数になります。

uniqueidentifier

グローバル一意識別子 (GUID) を格納するデータ型です。記憶域のサイズは 16 バイトです。

IDENTITY [(s, i)]

これはデータ列のプロパティであり、独立したデータ型ではありません。

ID 列には、integer 型のデータ列のみを使用できます。1 つのテーブルでは、ID 列を 1 つしか作成できません。シード値と増分値を指定することができ、列を更新することはできません。

s (seed) = 開始値

i(increment) = 増分値

ROWGUIDCOL

これはデータ列のプロパティであり、独立したデータ型ではありません。uniqueidentifier データ型を使用して定義したテーブルに含まれる列です。1 つのテーブルでは、ROWGUIDCOL 列を 1 つしか作成できません。

Timestamp/rowversion

自動的に生成される一意のバイナリ値です。

記憶域のサイズは 8 バイトです。

SQL Server Compact 4.0 では、256 バイトを超える ntext 型と image 型のデータは、新しいデータ ページに格納されます。SQL Server Compact 4.0 データベースはバイトではなくページを基準として最適化されるので、このことがデータベースの圧縮度に影響する場合があります。

SQL Server Compact 4.0 での変換に必要な SQL Server のデータ型の詳細については、「SQL Server Compact と SQL Server の相違点」を参照してください。