各主流关系式数据库的数据类型对比

 

MySQL

Oracle

SQLServer

PostgreSQL

SQLite

DB2

有符号32位整数

INTEGER/INT

见“高精度小数”

INT

INTEGER

INTEGER

INTEGER/INT

无符号32位整数

INT UNSIGNED

有符号64位整数

BIGINT

见“高精度小数”

BIGINT

BIGINT

INTEGER

BIGINT

无符号64位整数

BIGINT UNSIGNED

有符号16位整数

SMALLINT

见“高精度小数”

SMALINT

SMALINT

INTEGER

SMALINT

无符号16位整数

SMALLINT UNSIGNED

有符号8位整数

TINYINT

见“高精度小数”

INTEGER

无符号8位整数

TINYINT UNSIGNED

TINYINT

高精度小数

DECIMAL(precision, scale)

precision范围1至65,scale范围0至30(不大于precision)

NUMBER(precision, scale)

precision范围1至38,scale范围-84至127

DECIMAL(precision, scale)

precision范围1至38,scale范围0至precision

NUMERIC(precision, scale)

precision范围1至1000,scale范围0至precision

NUMERIC

DECIMAL(precision, scale)

precision范围1至31,scale范围0至precision

32位浮点数

FLOAT

BINARY_FLOAT

REAL

REAL

REAL

64位浮点数

DOUBLE

BINARY_DOUBLE

DOUBLE PRECISION

DOUBLE PRECISION

REAL

DOUBLE

布尔值

BOOLEAN

定长字符串

CHAR(size)

size最多255

CHAR(size)

最多2000字节/字符

CHAR(size)

size最多8000

CHAR(size)

见“长字符串”

CHAR(size)

最多255字节

Unicode
定长字符串

见“定长字符串”

NCHAR

最多2000字节

NCHAR(size)

size最多4000

见“定长字符串”

见“长字符串”

见“定长字符串”

变长字符串

VARCHAR(size)

size最多65535

VARCHAR2(size)

最多4000字节/字符

VARCHAR(size)

size最多8000

VARCHAR(size)

见“长字符串”

VARCHAR(size)

最多32704字节

Unicode
变长字符串

见“变长字符串”

NVARCHAR2(size)

最多4000字节

NVARCHAR(size)

size最多4000

见“变长字符串”

见“长字符串”

见“变长字符串”

时间戳

TIMESTAMP

范围:'1970-01-01 00:00:01.000000'至 '2038-01-19 03:14:07.999999'

TIMESTAMP(fractional_seconds)

范围:'-4712-01-01'至'9999-12-31'

见“日期时间”

见“日期时间”

TIMESTAMP

范围:0001-01-01 00:00:00.000000000至9999-12-31 24:00:00.000000000

日期时间

DATETIME

范围:'1000-01-01 00:00:00.000000'至'9999-12-31 23:59:59.999999'

DATE

范围:'-4712-01-01'至'9999-12-31'

DATETIME

范围:1753-01-01 00:00:00至9999-12-31 23:59:59.997

DATETIME2(fractional_seconds)

范围:0001-01-01 00:00:00至9999-12-31 23:59:59.9999999

TIMESTAMP(fractional_seconds)

范围:4713 BC至294276 AD,最大精度1ms

见“时间戳”

日期

DATE

范围:'1000-01-01'至'9999-12-31'

见“日期时间”

DATE

范围:0001-01-01至9999-12-31

DATE

范围:4713 BC至5874897 AD

DATE

范围:0001-01-01至9999-12-31

时间

TIME

范围:'-838:59:59' to '838:59:59'

TIME(fractional_seconds)

范围:00:00:00.0000000至23:59:59.9999999

TIME(fractional_seconds)

范围:00:00:00至24:00:00,最大精度1ms

TIME

范围:00:00:00至24:00:00

长字符串

TEXT

最多65533字节

MEDIUMTEXT

最多16MB - 3字节

LONGTEXT

最多约4GB - 4字节

CLOB

TEXT

TEXT

TEXT

CLOB

Unicode
长字符串

见“长字符串”

NCLOB

NTEXT

见“长字符串”

见“长字符串”

见“长字符串”

二进制

BLOB

最多65533字节

MEDIUMTEXT

最多约16MB - 3字节

LONGBLOB

最多约4GB - 4字节

BLOB

VARBINARY

BYTEA

BLOB

BLOB

JSON

JSON

JSON

猜你喜欢

转载自www.cnblogs.com/firas/p/9700141.html