いつも忘れるので、数値型のデータ範囲について、簡単にまとめておきます。
目次
整数型
整数型には「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が小数部の桁数になります。
例えば整数部が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」になります。