本家サイト(https://dev.mysql.com/doc/refman/5.6/ja/numeric-type-overview.html)から引用。
型 | 内容 |
---|---|
BIT | ビットフィールド型。M*1 は、値あたりのビット数 (1 から 64) を表します。M*1 を省略した場合のデフォルトは 1 です。 |
TINYINT | 非常に小さい整数。符号付きの範囲は -128 から 127 です。符号なしの範囲は 0 から 255 です。 |
BOOL、BOOLEAN | これらの型は TINYINT(1) のシノニムです。ゼロの値は false と見なされます。ゼロ以外の値は true と見なされます。 |
SMALLINT | 小さい整数。符号付きの範囲は -32768 から 32767 です。符号なしの範囲は 0 から 65535 です。 |
MEDIUMINT | 中間サイズの整数。符号付きの範囲は -8388608 から 8388607 です。符号なしの範囲は 0 から 16777215 です。 |
INT | 普通サイズの整数。符号付きの範囲は -2147483648 から 2147483647 です。符号なしの範囲は 0 から 4294967295 です。 |
INTEGER | この型は INT のシノニムです。 |
BIGINT | 大きい整数。符号付きの範囲は -9223372036854775808 から 9223372036854775807 です。符号なしの範囲は 0 から 18446744073709551615 です。 |
DECIMAL | パックされた「正確な」固定小数点数。M*1 は桁数の合計 (精度) で、D は小数点以下の桁数 (スケール) です。小数点と、負の数に対する「-」の記号は M*1 にはカウントされません。D が 0 のときは、小数点や小数部はありません。DECIMAL の最大桁数 (M) は 65 です。サポートされる小数部の最大桁数 (D) は 30 です。D が省略された場合のデフォルトは 0 です。M*1 が省略された場合のデフォルトは 10 です。 |
DEC, NUMERIC, FIXED | これらの型は DECIMAL のシノニムです。FIXED シノニムは、ほかのデータベースシステムとの互換性のために使用できます。 |
FLOAT |
小さい (単精度) 浮動小数点数。許可される値は、-3.402823466E+38 から -1.175494351E-38、0、および 1.175494351E-38 から 3.402823466E+38 です。これらは、IEEE スタンダードに基づいた理論的な限度です。使用しているハードウェアまたはオペレーティングシステムによっては、実際の範囲は少し小さくなる場合があります。 M*1は桁数の合計で、D は小数点以下の桁数です。M*1 と D を省略した場合、値はハードウェアで許可された限度まで格納されます。単精度小数点数はおおよそ小数第 7 位まで正確です。 UNSIGNED が指定されている場合、負の値は許可されません。 MySQL ではすべての計算が倍精度で行われているので、FLOAT を使用すると、予想外の問題が起きることがあります。セクションB.5.5.7「一致する行がない場合の問題の解決」を参照してください。 |
DOUBLE |
普通サイズ (倍精度) の浮動小数点数。許可されている値は、-1.7976931348623157E+308 から -2.2250738585072014E-308、0、および 2.2250738585072014E-308 から 1.7976931348623157E+308 です。これらは、IEEE スタンダードに基づいた理論的な限度です。使用しているハードウェアまたはオペレーティングシステムによっては、実際の範囲は少し小さくなる場合があります。 M*1 は桁数の合計で、D は小数点以下の桁数です。M*1 と D を省略した場合、値はハードウェアで許可された限度まで格納されます。倍精度小数点数はおおよそ小数第 15 位まで正確です。 UNSIGNED が指定されている場合、負の値は許可されません。 |
DOUBLE PRECISION | これらの型は DOUBLE のシノニムです。例外: REAL_AS_FLOAT SQL モードが有効な場合は、DOUBLE ではなく REAL が FLOAT のシノニムになります。 |
FLOAT |
浮動小数点数です。p は精度をビットで表現しますが、MySQL は、結果として得られるデータ型に対して FLOAT または DOUBLE のどちらを使用するかを決めるためだけにこの値を使用します。p が 0 から 24 のとき、そのデータ型は M 値も D 値もない FLOAT になります。p が 25 から 53 のとき、そのデータ型は M 値も D 値もない DOUBLE になります。結果となるカラムの範囲は、このセクションで前述した単精度 FLOAT または倍精度 DOUBLE データ型の場合と同じです。 FLOAT(p) 構文は ODBC との互換性を確保するために用意されています。 |
※1 = M は整数型の最大表示幅を示します。最大表示幅は 255 です。セクション11.2「数値型」で説明しているように、表示幅はその型に含めることができる値の範囲とは関係ありません。浮動小数点型と固定小数点型の場合、M は格納可能な桁数の合計です。