MySQL——数据库和表的基本操作(二)数据类型(3)日期与时间类型

        为了方便在数据库中存储日期和时间,MySQL 提供了表示日期和时间的数据类型分别是 YEAR、DATE、TIME、DATETIME 和 TIMESTAMP。下表列举了这些 MySQL 中日期和时间数据类型所对应的字节数、取值范围、日期格式以及零值。

数据类型字节数取值范围日期格式零值
YEAR11901~2155YYYY0000
DATE41000-01-01~9999-12-3YYYY-MM-DD0000-00-00
TIME3
 
-838:59:59~838:59:59
1000-01-01
HH:MM:SS00:00:00
DATETIME8
 
00:00:00~9999-12-31 23:59:59YYYY-MM-DDHH:MM:SS0000-00-00 00:00:00
TIMESTAMP41970-01-01 00:00:01~2038-01-19 03:14:07YYYY-MM- DDHH:MM:SS0000-00-00 00:00:00

        从表中可以看出,每种日期和时间类型的取值范围都是不同的。需要注意的是如果插入的数值不合法,系统会自动将对应的零值插入数据库中。

1. YEAR 类型

YEAR 类型用于表示年份,在 MySQL中,可以使用以下三种格式指定 YEAR 类型的值。

        (1)使用4位字符串或数字表示,范围为 ' 1901 ' ~ ' 2155 ' 或 1901~2155。例如,输入 ' 2014 ' 或 2014,插入到数据库中的值均为 2014 。


        (2)使用两位字符串表示,范围为 ' 00 ' ~ ' 99 ' ,其中, ' 00 ’ ~ ' 69 ' 范围的值会被转换为 2000~2069 范围的 YEAR值, ' 70 ’~ ' 99 ' 范围的值会被转换为 1970~1999 范围的 YEAR 值。例如,输入 ' 14 ' ,插入到数据库中的值为 2014 。


        (3)使用两位数字表示,范围为 1~99,其中,1~69 范围的值会被转换为 2001~2069 范围的 YEAR值,70~99 范围的值会被转换为 1970~1999 范围的 YEAR 值。例如,输入 14,插入到数据库中的值为 2014。

        需要注意的是,当使用 YEAR 类型时,一定要区分 ' 0 ' 和 0。因为字符串格式的 ' 0 ' 表示的 YEAR 值是 2000,而数字格式的 0 表示的 YEAR 值是 0000。

2. DATE 类型

        DATE类型用于表示日期值,不包含时间部分。在 MySQL中,可以使用以下 4 种格式指定 DATE 类型的值。

        (1)以 ' YYYY-MM-DD ' 或者 ' YYYYMMDD ' 字符串格式表示。

                例如,输人 ' 2014-01-21 ' 或 ' 20140121 ',插入数据库中的日期都为 2014-01-21。

        (2)以 ' YY-MM-DD ' 或者 ' YYMMDD ' 字符串格式表示。YY 表示的是年,范围为 ' 00 ' ~ ' 99 ',其中 ' 00 ' ~'  69 ' 范围的值会被转换为 2000~2069 范围的值, ' 70 ’ ~ ' 99 ' 范围的值会被转换为 1970~1999 范围的值。

                例如,输入 ' 14-01-21 ' 或 ' 140121 ',插人数据库中的日期都为 2014-01-21。 

      (3)以 YY-MM-DD 或者 YYMMDD 数字格式表示。

                例如,输入 14-01-21或140121,插人数据库中的日期都为 2014-01-21

        (4)使用 CURRENT DATE 或者 NOW() 表示当前系统日期。

3.TIME 类型

        TIME 类型用于表示时间值,它的显示形式一般为 HH:MM:SS,其中,HH 表示小时,MM 表示分,SS表示秒。在 MySQL中,可以使用以下三种格式指定 TIME 类型的值。

        (1)以 ' D HH;MM;SS ' 字符串格式表示。其中,D表示日,可以取 0~34 之间的值插入数据时,小时的值等于(Dx24+HH)。

                例如,输人 ' 2 11;30.50 ' ,插人数据库中的日期为 59:30:50。

        (2)以 ' HHMMSS ' 字符串格式或者 HHMMSS 数字格式表示。

                例如,输人 ' 345454 ' 或 345454,插入数据库中的日期为 34:54:54。

        (3)使用CURRENT_TIME或 NOWO)输人当前系统时间。

                DATETIME类型用于表示日期和时间,它的显示形式为 ' YYYY-MM-DD HH ' 。

4. DATETIME 类型

        DATETIME类型用于表示日期和时间,它的显示形式为:' YYYY-MM-DD HH MM:SS ' ,        其中,YYYY 表示年,MM 表示月,DD 表示日,HH 表示小时,MM 表示分,SS表示秒。在 MySQL 中,可以使用以下 4 种格式指定 DATETIME 类型的值。

        (1)以 ' YYYY-MM DD HH;MM;SS ' 或者 ' YYYYMMDDHHMMSS ' 字符串格式表示的日期和时间。取值范围为 ' 1000-01-01 00;00:00 ' - ' 9999-12-31 23:59;59 ' 例如,输入 ' 2014-01-22 09:01;23 ' 或 20140122090123 ,插人数据库中的 DATETIME 值都为 2014-01-22 09:01:23。

        (2)以 ' YY-MM-DD HH:MM;SS ' 或者 ' YYMMDDHHMMSS ' 字符串格式表示的日值都为 2014-01-22 09;01:23。日期和时间,其中 YY表示年,取值范围为 ' 00 ' ~ ' 99 ’ 。与 DATE 类型中的 YY 相同,' 00 ' ~ ' 69 ' 范围的值会被转换为 2000~2069 范围的值,' 70 ’ ~ ' 99 ' 范围的值会被转换为 1970~1999 范围的值。

        (3)以 YYYYMMDDHHMMSS 或者 YYMMDDHHMMSS 数字格式表示的日期和时间。例如,插入 20140122090123 或者 140122090123 ,插入数据库中的 DATETIME 值都为 2014-01-22 09:01:23。

        (4)使用 NOW( ) 来输入当前系统的日期和时间。

5.TIMESTAMP 类型

        TIMESTAMP 类型用于表示日期和时间,它的显示形式与 DATETIME 相同,但取值范围比 DATETIME 小。下面介绍几种 TIMESTAMP 类型与 DATATIME 类型不同的形式,具体如下。

(1)使用CURRENT_TIMESTAMP 来输人系统当前日期和时间

(2)输入 NULL时,系统会输人系统当前日期和时间。

(3)无任何输入时,系统会输入系统当前日期和时间。

  • 28
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code repairman

你的鼓励将是我创作的最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值