UNSIGNED | ||
BIT | 0~1 | |
TINYINT | -128~127 | 0~255 |
BOOL BOOLEAN TINYINT(1) |
true/false | |
SMALLINT | -32768~32767 | 0~65535 |
MEDIUMINT | -8388608~8388607 | 0~16777215 |
INT INTEGER |
-2147483648~2147483647 | 0~4294967295 |
BIGINT | -9223372036854775808~9223372036854775807 | 0~18446744073709551615 |
FLOAT | -3.402823466E+38~-1.175494351E-38 0 1.175494351E-38~3.402823466E+38 |
0 1.175494351E-38~3.402823466E+38 |
DOUBLE DOUBLE PRECISION REAL |
-1.7976931348623157E+308~-2.2250738585072014E-308 0 2.2250738585072014E-308~1.7976931348623157E+308 |
0 2.2250738585072014E-308~1.7976931348623157E+308 |
DECIMAL(M,D) DEC(M,D) NUMERIC(M,D) FIXED(M,D) |
DOUBLEと同じなので、Mは65まで DECIMAL(6,2)のとき、-9999.99~9999.99 Dを省略時はD=10になる |
DECIMAL(6,2)のとき、0~9999.99 |
金額や経緯度のような近似誤差を許容しない数値は、DECIMALを使う。
ただし、有効桁数が6桁以下ならfloatでもOK
ZEROFILL を付けると、UNSIGNEDが自動的に付加されて、かつ桁数分0で埋められる。