zoukankan      html  css  js  c++  java
  • MySQL支持的数据类型(2)( 日期)

    日期和时间类型 字节 最小值 最大值
    date 4 1000-01-01 9999-12-31
    datetime 8 1000-01-01 00:00:00 9999-12-31 23:59:59
    timestamp 4 19700101080001 2038年的某个时刻
    time 3 -838:59:59  838:59:59
    year 1 1901 2155
    数据类型 零值表示
    datetime 0000-00-00 00:00:00
    date 0000-00-00
    timestamp 0000000000000000
    time 00:00:00
    year 0000

    每种日期时间类型都有一个有效值范围,拆除这个范围系统就会进行错误提示,并将以零值(上表为零值展示表)进行存储

    [timestamp]

    1.若想将timestamp查询的值返回为数字,应在timestamp列后添加"+0"。

    time1表中只有一个字段t1,类型为timestamp(MySQL自动填补current_timestamp属性)

    select t1 from time1;

    select t1+0 from time1;//查询的值返回为数字

    2.系统会为timestamp字段自动创建默认值"current_timestamp(系统日期)"。如果有第二个timestamp,则默认值为零值

    3.MySQL规定timestamp类型字段只能有一列默认值为current_timestamp。

    4.时区相关。当插入日期时,会先转换成本地时区后存放;从数据库取出时,需要将日期转换为本地时区后显示。

    5.timestamp受MySQL版本和服务器SQLMode影响较大。本文是以MySQL5.0为例。

    [year]

    1.当应用只需要记录年份时,year比date更省空间

    2.year有两种格式:yy和yyyy。yyyy的范围是1901~2155,yy的范围是1970~2069

    00~69表示2000~2069,70~99表示1970~1999。

    [datetime]

    1.不严格语法:任何标点符号都可以做日期部分或时间部分的间隔符 eg:'38[11&23 11&30+12' 等同于 '38-11-23 11:30:12' 多能够正常插入。

    2.没有间隔符的字符串,如果是合法的,也将成功保存。eg:19961119083028将会被成功保存为 1996-11-19 08:30:28

    3.输入错误的时间将会报错并保存为零值eg:1998-13-23 11:30:12 没有13月份,所以这是个错误的时间,将会报错,并保存为零值

  • 相关阅读:
    PHP中的PEAR是什么?
    Cookie禁用了,Session还能用吗?原因详解
    php中echo、print、print_r、var_dump、var_export区别
    超强汇总!110 道 Python 面试笔试题
    九种跨域方式实现原理
    在MySQL中如何使用覆盖索引优化limit分页查询
    Laravel大型项目系列教程(五)之文章和标签管理
    Bootstrap-tagsinput标系统使用心得
    bootstrap-datepicker使用
    谭安林:大数据在教育行业的研究与应用
  • 原文地址:https://www.cnblogs.com/drake-guo/p/6126289.html
Copyright © 2011-2022 走看看