数値型(整数・小数・金額) int・decimal・float・money
SQL Serverの数値型にint、decimal(numeric)、float、moneyがあります。
- int
- decimal
- float
- money
それぞれの数値型の違いを解説します。
int (整数)
SQL Serverの整数は「int」 を使います。最大2,147,483,647です。これを超える場合は、「bigint」型を使用します。「int」より小さい「smallint」型もあります。
一般的にSQL Serverで整数型といえば「int」になります。
- 例1・・・3
- 例2・・・1,000,000
decimal (小数)
SQL Serverの小数は10進数の「decimal」を使います。
「decimal」のほかにも「numeric」がありますが、「decimal」と「numeric」は同じなので、どちらを使っても良いです。
- 例1・・・3.1
- 例2・・・0.00001
float(小数)
SQL Serverの小数は「float」もあります。浮動小数点数値です。浮動小数点数値は概数です。
下の例をみると、「0.00001」は「1E-05」となります。小数を10進数として正確に扱いたい場合や小数点を計算する場合は「decimal」を使うべきです。
- 例1・・・3.1
- 例2・・・1E-05 (0.00001)
money
「money」は金銭や通貨の値を表す金額データ型です。
- 例1・・・1,000
- 例2・・・1,00,000,000
SQL Serverの数値型の違い
SQL Serverの数値型・時刻型(int、decimal、money)の違いをまとめます。
型 | 範囲 | バイト |
smallint | -32,768~32,767 | 2 |
int | -2,147,483,648~2,147,483,647 | 4 |
bigint | -9,223,372,036,854,775,808
~9,223,372,036,854,775,807 |
8 |
decimal | 10^38 +1 ~ 10^38 – 1 | 5~17 |
money | -922,337,203,685,477.5808
~922,337,203,685,477.5807 |
8 |
詳細はMicrosoft のページを確認してください。
→https://learn.microsoft.com/ja-jp/sql/t-sql/data-types/numeric-types?view=sql-server-ver16
以上、SQL Serverの金額データ型 int、decimal、float、moneyの解説でした。
コメント
少数→小数
ではないですかね?
少数→小数でした。
一部誤りがありましたので修正しました。
ご指摘ありがとうございます。