zoukankan      html  css  js  c++  java
  • 列类型-日期时间型

    日期时间型

    日期时间型数据,顾名思义,就是用来表示日期和时间的数据类型,共有五种类型,分别为:

    • datetime:日期时间,其格式为yyyy-MM-dd HH:mm:ss,表示的范围是从 1000 年到 9999 年,有零值,即0000-00-00 0000:00
    • date:日期,就是datetimedate部分;
    • time:时间,或者说是时间段,为指定的某个时间区间之间,包含正负时间;
    • timestamp:时间戳,但并不是真正意义上的时间戳,其是从1970年开始计算的,格式和datetime一致;
    • year:年份,共有两种格式,分别为year(2)year(4).

    执行如下 SQL 语句创建日期时间表,进行测试:

    -- 创建日期时间表
    create table my_date(
    	d1 datetime,
    	d2 date,
    	d3 time,
    	d4 timestamp,
    	d5 year
    )charset utf8;
    

    当咱们插入数据时,日期时间型中的time,可以为负数,甚至可以是很大的负数;year,可以使用 2 位数据插入,也可以使用 4 位数据插入;timestamp,只要当前所在的记录被更新,该字段就会自动更新为当前时间,且时间戳类型默认为非空的。

    -- 插入测试数据
    insert into my_date values ('2017-05-06 13:15:00','2017-05-06','13:15:00','2017-05-06 13:15:00',2017);
    insert into my_date values ('2017-05-06 13:15:00','2017-05-06','-113:15:00','2017-05-06 13:15:00',69);
    insert into my_date values ('2017-05-06 13:15:00','2017-05-06','-2 13:15:00','2017-05-06 13:15:00',70);
    

    create-table-mydate

    如上图所示,以上 3 条记录已经插入成功,接下来,咱们再来验证更新记录时,时间戳类型的字段d4是否会自动更新:

    -- 更新记录,验证时间戳类型的字段是否会自动更新
    update my_date set d1 = '2017-05-06 13:24:00' where d5 = 1970;
    

    update-mydate

    如上图所示,显然咱们的结论全部得到了验证。

  • 相关阅读:
    C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别
    vs 扩展和更新下载的插件在什么位置呢,看看吧,哈哈
    全面了解 Nginx 主要应用场景
    Nginx配置详解
    ulimit -n 修改
    mysql系列十一、mysql优化笔记:表设计、sql优化、配置优化
    java.net.UnknownHostException 异常处理
    Oracle 11G在用EXP 导出时,空表不能导出解决
    expdp和impdp导入和导出数据
    CentOS6.5运行yum报错:No module named yum
  • 原文地址:https://www.cnblogs.com/pscly/p/11383700.html
Copyright © 2011-2022 走看看