zoukankan      html  css  js  c++  java
  • DATETIME与TIMESTAMP

    DATETIME与TIMESTAMP都能表达一个完整的日期格式:YYYY-MM-DD HH:MM:SS[.fraction]

    eg:

    mysql> create table test(id int,hiredate timestamp);
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> insert into test values(1,'20151208000000');
    Query OK, 1 row affected (0.00 sec)
    
    mysql> create table test1(id int,hiredate datetime);
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> insert into test1 values(1,'20151208000000');
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from test;
    +------+---------------------+
    | id   | hiredate            |
    +------+---------------------+
    |    1 | 2015-12-08 00:00:00 |
    +------+---------------------+
    row in set (0.01 sec)
    
    mysql> select * from test1;
    +------+---------------------+
    | id   | hiredate            |
    +------+---------------------+
    |    1 | 2015-12-08 00:00:00 |
    +------+---------------------+
    row in set (0.00 sec)
    View Code

    注意传入的时候是YYYYMMDDHHMMSS的格式,查询时都是YYYY-MM-DD HH:MM:SS的格式

    区别:

    1. 存储方式

    TIMESTAMP把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。当查询时,又将其又转化为客户端当前时区进行返回。

    而对于DATETIME,不做任何改变,基本上是原样输入和输出。

    2. 两者所能存储的时间范围不一样

    timestamp所能存储的时间范围为:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。

    datetime所能存储的时间范围为:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。

    3. 对于跨时区的业务,TIMESTAMP更为合适。

    一般情况下用timestamp足矣,更灵活,时间范围也够。

  • 相关阅读:
    五子棋算法
    记录2个算法知识(常见面试题)
    python基础面试题之类型转换(字典篇)
    Python中的多线程和多进程的应用场景和优缺点。
    python基础面试题之输入年月日,判断这个日期是这一年的第几天。
    Python装饰器(面试题)
    linux终止进程
    nest_asyncio出现错误
    sanic 相关的插件
    linux如何配置nginx全局变量
  • 原文地址:https://www.cnblogs.com/yanze/p/10113186.html
Copyright © 2011-2022 走看看