SQLServer 数値型のデータ範囲(最小値~最大値)

SQLServerロゴ

いつも忘れるので、数値型のデータ範囲について、簡単にまとめておきます。

整数型

整数型には「tinyint型」「smallint型」「int型」「bigint型」「bit型」の5種類があります。

tinyint型

tinyint型の有効なデータ(値)の範囲は「0 ~ 255」になります。

smallint型

smallint型の有効なデータ(値)の範囲は「-32,768 ~ 32,767」になります。

int型

int型の有効なデータ(値)の範囲は「-2,147,483,648 ~ 2,147,483,647」になります。

bigint型

bigint型の有効なデータ(値)の範囲は「-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807」になります。

bit型

bit型の有効なデータ(値)の範囲は「0 ~ 1」になります。
bit型は「0: False」または「1: True」の真偽値を管理します。

10進数小数型

10進数小数型には「decimal型」と「numeric型」があります。

decimal型

decimal型の有効なデータ(値)の範囲は「-10^38 +1 から 10^38 – 1 (-38桁~38桁)」になります。
decimal(38)なら
-99999999999999999999999999999999999999 ~ 99999999999999999999999999999999999999
decimal(38, 1)なら
-9999999999999999999999999999999999999.9 ~ 9999999999999999999999999999999999999.9
になります。

decimalで桁数を指定する際はdecimal(p, s)とし、pが全体の桁数、sが小数部の桁数になります。

pが整数部の桁数、sが小数部の桁数ではないので注意が必要です。pは全体の桁数になります。
例えば整数部が5桁、小数部が3桁の10進数小数型の指定はdecimal(8, 3)になります。

numeric型

decimal型と同じです。

浮動小数点数型

浮動小数点数型には「float型」と「real型」があります。

float型

float型の有効なデータ(値)の範囲は「-1.79E+308 ~ -2.23E-308、0、および 2.23E-308 ~ 1.79E+308」になります。

real型

real型の有効なデータ(値)の範囲は「-3.40E+38 ~ -1.18E-38、0、および 1.18E-38 ~ 3.40E+38」になります。

金額型

金額型には「smallmoney型」と「money型」があります。

smallmoney型

smallmoney型の有効なデータ(値)の範囲は「-214,748.3648 ~ 214,748.3647」になります。

money型

money型の有効なデータ(値)の範囲は「-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807」になります。