SQL Dialects Reference/Data structure definition/Data types/Numeric types
Jump to navigation
Jump to search
SQL version | Feature | Standard SQL:2011 |
DB2 | Firebird | Ingres | Linter | MSSQL | MySQL | MonetDB | Oracle Vers. 11.x |
PostgreSQL | SQLite | Virtuoso |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
? | Integer (1 byte) | [1] | N/A | N/A | tinyint integer1 |
N/A | tinyint (always unsigned) | TINYINT | TINYINT | NUMBER(1) | "char" (including quotation marks) | INTEGER[2] | TINYINT |
? | Integer (2 bytes) | [1] | SMALLINT | SMALLINT | smallint integer2 |
SMALLINT | smallint | SMALLINT | SMALLINT | NUMBER(2) | SMALLINT INT2 |
INTEGER[2] | SMALLINT |
? | Integer (3 bytes) | [1] | N/A | N/A | N/A | N/A | N/A | MEDIUMINT | N/A | NUMBER(3) | N/A | INTEGER[2] | N/A |
? | Integer (4 bytes) | [1] | INTEGER | INTEGER | integer integer4 |
INT INTEGER |
int | INT | INT | NUMBER(4) | INT INTEGER INT4 |
INTEGER[2] | INT INTEGER |
? | Integer (8 bytes) | [1] | BIGINT | BIGINT | bigint integer8 |
BIGINT | bigint | BIGINT | BIGINT | INTEGER | BIGINT INT8 |
INTEGER[2] | BIGINT |
? | Float (single precision, 4 bytes) | [3] | REAL | FLOAT | float4 real float(23) |
FLOAT REAL FLOAT(n), n≤24 |
real float(24) |
FLOAT | REAL | BINARY_FLOAT | REAL FLOAT(24) |
N/A | REAL |
? | Float (double precision, 8 bytes) | [3] | DOUBLE FLOAT |
DOUBLE PRECISION | float float8 double precision float(53) |
DOUBLE DOUBLE PRECISION FLOAT(n), n>24 |
float float(53) |
DOUBLE | FLOAT DOUBLE |
BINARY_DOUBLE | DOUBLE PRECISION FLOAT(53) |
REAL[2] | FLOAT |
? | Fixed precision (p) and scale (s) number | [1] | DECIMAL(p, s) NUMERIC(p, s) |
DECIMAL(p, s) NUMERIC(p, s) |
DECIMAL(p, s) NUMERIC(p, s) |
DECIMAL(p, s) DEC(p,s) NUMERIC(p, s) NUMBER(p,s) |
decimal(p, s) numeric(p, s) |
DECIMAL(p, s) NUMERIC(p, s) |
DECIMAL(p, s) NUMERIC(p, s) |
NUMBER(p, s)/NUMBER(p)/NUMBER DECIMAL(p, s)/DECIMAL(p)/DECIMAL NUMERIC(p, s)/NUMERIC(p)/NUMERIC FLOAT(p) |
DECIMAL(p, s) NUMERIC(p, s) |
N/A[2] | DECIMAL(p, s) NUMERIC(p, s) |
? | Fixed precision p and s limits | no limits | p ≤ 31, 0 ≤ s ≤ p | p ≤ 18, 0 ≤ s ≤ p | p ≤ 31, 0 ≤ s ≤ p | p ≤ 30, 0 ≤ s ≤ p, s ≤ 10, p-s ≤ 20 | p ≤ 38, 0 ≤ s ≤ p | p ≤ 65, 0 ≤ 30 ≤ s ≤ p | p ≤ 18, 0 ≤ s ≤ p | p ≤ 38, -84 ≤ s ≤ 127 (for negative scale the least significant digit is on the left side of the decimal point) | p ≤ 1000, 0 ≤ s ≤ p | ||
? | UNSIGNED support | No | No | No | No | No | No | Yes | No | Yes | No | No | No |
? | Set display width in integer | No | No | No | No | No | No | Yes | No | No | No | No | No |