• 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月份,所以这是个错误的时间,将会报错,并保存为零值

  • 相关阅读:
    AtCoder Beginner Contest 145
    [kuangbin带你飞]专题二十二 区间DP
    记录学习记录你
    湖南大学七月夏令营-计算机科学与技术专业
    软件工程 之UML六大关系
    IDEA 中JAVAFX配置
    Vue项目打包后在本地运行:express本地服务器
    真机测试的方法
    解决坑的链接
    vue中实现先请求数据再渲染dom
  • 原文地址:https://www.cnblogs.com/drake-guo/p/6126289.html
Copyright © 2020-2023  润新知