主页

索引

模块索引

搜索页面

5.2.21. 时间类型

表1 MySQL日期数据类型

日期类型

存储空间

日期格式

日期范围

datetime

8 bytes

YYYY-MM-DD HH:MM:SS

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

timestamp

4 bytes

YYYY-MM-DD HH:MM:SS

1970-01-01 00:00:01 ~ 2038-12-31 23:59:59

date

3 bytes

YYYY-MM-DD

1000-01-01 ~ 9999-12-31

year

1 bytes

YYYY

1901 ~ 2155

timestamp

  • timestamp值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。

  • timestamp值显示尺寸的格式如下表所示:

    列类型

    显示格式

    timestamp(14)

    yyyymmddhhmmss

    timestamp(12)

    yymmddhhmmss

    timestamp(10)

    yymmddhhmm

    timestamp(8)

    yyyymmdd

    timestamp(6)

    yymmdd

    timestamp(4)

    yymm

    timestamp(2)

    yy

  • 最常见的显示尺寸是6、8、12、和14.

  • 你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。

  • 列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数,如:

    表1 强制字段长度

    定义字段长度

    强制字段长度

    timestamp(0)

    timestamp(14)

    timestamp(15)

    timestamp(14)

    timestamp(1)

    timestamp(2)

    timestamp(5)

    timestamp(6)

  • 所有的timestamp列都有同样的存储大小

  • 使用被指定的时期时间值的完整精度(14位)存储合法的值不考虑显示尺寸

  • 不合法的日期,将会被强制为0存储

int类型:

一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255
TINYINT[(M)] [UNSIGNED] [ZEROFILL]

一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295
INT[(M)] [UNSIGNED] [ZEROFILL]

一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到18446744073709551615
BIGINT[(M)] [UNSIGNED] [ZEROFILL]

浮点型:

FLOAT[(M,D)] [ZEROFILL]
一个小(单精密)浮点数字。不能无符号。允许的值是
-3.402823466E+38到-1.175494351E-38
0
1.175494351E-38到3.402823466E+38

DOUBLE[(M,D)] [ZEROFILL]
REAL[(M,D)] [ZEROFILL]
一个正常大小(双精密)浮点数字。不能无符号。允许的值是
-1.7976931348623157E+308到-2.2250738585072014E-308
0
2.2250738585072014E-308到1.7976931348623157E+308

DECIMAL[(M[,D])] [ZEROFILL]
NUMERIC(M,D) [ZEROFILL]
一个未压缩(unpack)的浮点数字。不能无符号
行为如同一个CHAR列:“未压缩”意味着数字作为一个字符串被存储,值的每一位使用一个字符

主页

索引

模块索引

搜索页面