zoukankan      html  css  js  c++  java
  • MySql中时间类型总结

    最近建表要用到时间类型的数据,但对时间类型的数据一向不了解,就总结了一下。。

    一、日期DATE

    一个日期。支持的范围是“1000-01-01”“9999-12-31”。MySQL显示日期 “YYYY-MM-DD”格式,但允许使用字符串或数字列赋值日期

     1.在一个字符串“YYYY-MM-DD”“yy-mm-dd”格式。“不严格“语法是允许任何标点符号 字符可以作为之间的日期部分的分隔符。 为,“2012-12-31”,’2012 / 12 / 31’2012 ^ 12 ^ 31,和2012 @ 12 @ 31“2012-12-31”是等价的

     


    2.作为一个没有任何分隔符的字符串“yyyymmdd”格式字符串,只要是有意义的日期。对于 例子,“20070523”“070523”被解释为“2007-05-23”,但“071332”是非法的(无意义的 月日部分)则为“0000-00-00”

    二、日期时间DATETIME

    ·日期和时间的组合。支持的范围是“1000-01-0100:00:00”“9999-12-31 23:59:59”。MySQL显示日期时间'YYYY-MM-DD HH:MM:SS'格式,但允许使用字符串或数字列赋值日期时间

    · 1.允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,'98-12-31 11:30:45'、'98.12.3111+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等价的。

       2.全为数字'19970523091528'和'970523091528'被解释为'1997-05-2309:15:28',但'971122129015'是不合法的  (它有一个没有意义的分钟部分),将变为'0000-00-00 00:00:00'。

      三、时TIME

    · 时间范围“838:59:59”“838:59:59”格式“hh:MM:ss”(或“HHH:MM:ss”格式)。时间值的范围可以从“838:59:59”以“838:59:59”。时间可能是如此之大 因为时间型不仅可用于代表一天中的时间(必须小于24小时),但还经过两个事件之间的时间或时间间隔(这可能远大于24小时,或甚至是负的)。

    缩写“1112”1112作为意义“11:12:00”(十一点后12分钟),但 MySQL它们解释为“00:11:12”(11 分钟,12秒)。同样,“12”12被解释为“00:00:12”。

     

    l  四、时间戳TIMESTAMP

      1.时间戳范围“1970-01-01 00:00:01”——“2038-01-19 03:14:07”UTC。

       TIMESTAMP提供了自动 初始化和更新为当前的日期和时间。

      

      

          

      TIMESTAMP和DATETIME比较:

     

      这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。

      cx

      五、 YEAR类型

    YEAR类型是一个单字节类型用于表示年。

       MySQL以YYYY格式检索和显示YEAR值。范围是1901到2155。 

       可以指定各种格式的YEAR值:

    · 四位字符串,范围为'1901'到'2155'。

    · 四位数字,范围为1901到2155。

    · 两位字符串,范围为'00'到'99'。'00'到'69'和'70'到'99'范围的值被转换为2000到2069和1970到1999范围的YEAR值。

    · 两位整数,范围为1到99。1到69 被转换为20012069

                      70到99范围的值被转换为1970到1999范围的YEAR值。

    请注意两位整数范围与两位字符串范围稍有不同,因为你不能直接将零指定为数字并将它解释为2000。你必须将它指定为一个字符串'0'或'00'或它被解释为0000。

    ·函数返回的结果,其值适合YEAR上下文,例如NOW()。

          非法YEAR值被转换为0000。

       总的格式表:  

      DATATYPE     VALUE       

             DATE

             '0000-00-00'

             TIME                       

             '00:00:00'

             DATETIME

            '0000-00-00 00:00:00'

             TIMESTAMP

            '0000-00-00 00:00:00'

              YEAR

             0000

     

  • 相关阅读:
    九度OJ 1283 第一个只出现一次的字符
    九度OJ 1514 数值的整数次方【算法】
    九度OJ 1512 用两个栈实现队列 【数据结构】
    九度OJ 1513 二进制中1的个数
    九度OJ 1510 替换空格
    九度OJ 1511 从尾到头打印链表
    dom4J使用笔记
    XML的学习
    jaxp使用笔记
    json-lib使用笔记
  • 原文地址:https://www.cnblogs.com/jycboy/p/mysql_sjlx.html
Copyright © 2011-2022 走看看