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足矣,更灵活,时间范围也够。

  • 相关阅读:
    SQL对Xml字段的操作
    五种常见的ASP.NET安全缺陷
    EntityFramework中常用的数据删除方式
    002_ASP.NET 换主题
    001_ASP.NET MVC 实用教程 论坛项目 北盟网校 原创视频教程
    LINQ to Entities 比较日期
    windows10多桌面创建 切换 和分屏
    winform的combox下拉框绑定数据源
    C# 怎么让winform程序中的输入文本框保留上次的输入
    dos 批量重命名 bat
  • 原文地址:https://www.cnblogs.com/yanze/p/10113186.html
Copyright © 2011-2022 走看看