# type bytes small big usmall ubig bytes small big usmall ubig TINYINT 1 -128 127 0 255 - - - - - BIT 1 -128 127 0 255 - - - - - BOOL(EAN) 1 -128 127 0 255 - - - - - *SMALLINT 2 -32768 32767 0 65536 2 -32768 32767 0 65536 MEDIUMINT 3 -8388608 8388607 0 16777215 - - - - - *INT(EGER) 4 -2147483648 2147483647 0 4294967295 4 -2147483648 2147483647 0 4294967295 *BIGINT 8 -9223372036854775808 9223372036854775807 0 18446744073709551615 1 -9223372036854775808 9223372036854775807 0 18446744073709551615 *FLOAT ? -3.402823466E+38 3.402823466E+38 0 3.402823466E+38 8 -1.79769E+308 1.79769E+308 0 1.79769E+308 DOUBLE ? -1.7976931348623157E+308 1.7976931348623157E+308 0 1.7976931348623157E+308 8 -1.79769E+308 1.79769E+308 0 1.79769E+308 REAL ? -1.7976931348623157E+308 1.7976931348623157E+308 0 1.7976931348623157E+308 ? -3.402E+38 3.402E+38 0 3.402E+38 DEC(IMAL) ? -1.7976931348623157E+308 1.7976931348623157E+308 0 1.7976931348623157E+308 4? -10^31+1 10^31-1 0 10^31-1 NUMERIC ? -1.7976931348623157E+308 1.7976931348623157E+308 0 1.7976931348623157E+308 4? -10^31+1 10^31-1 0 10^31-1 FIXED ? -1.7976931348623157E+308 1.7976931348623157E+308 0 1.7976931348623157E+308 - - - - - *DATE ? "1000-01-01" "9999-12-31" n/a n/a 4 "0001?01?31" "9999?12?31" n/a n/a DATETIME ? "1000-01-01 00:00:00" "9999-12-31 23:59:59" n/a n/a - - - - - TIMESTAMP 6-14? "1970-01-01 00:00:00" "2037-??-?? ??:??:??" n/a n/a 10 "yyyy-mm-dd-hh.mm.ss.nnnnnn" "yyyy-mm-dd-hh.mm.ss.nnnnnn" n/a n/a TIME ? "-838:59:59" "838:59:59" n/a n/a 3 "00:00:00" "24:00:00" n/a n/a YEAR ? 0000,1901 2155 n/a n/a - - - - - *CHAR[(n)] 0<=n<256 0 255 n/a n/a <255? n/a n/a n/a n/a *VARCHAR(n) 0