数据库中使用Date 和 timestamp 的区别

  DATETIME, DATE和TIMESTAMP类型是相关的。本文描述他们的特征,他们是如何类似的而又不同的。 

    DATETIME 类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着尽管更早的值可能工作,但不能保证他们可以。)

    DATE 类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,支持的范围是'1000-01-01'到'9999-12-31'。 

    TIMESTAMP列类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列,只有第一个自动更新。 

前几天在创建表的时候使用了:

create table traces (
  id bigint not null,
  comment varchar(5000),
  event varchar(50) not null,
  timestamp DATE not null,
  traceNumber varchar(50) not null,
  primary key (id)
)
结果今天客户反应说,前端客户显示的全部是日期,而时间却都是凌晨一点,所以很奇怪,排除了service 写错的可能性外,被老大找出来了,是因为当时我创建表的时候,时候的时间类型弄错了,DATE 是能保存在数据库中 仅仅只能保存日期,而不包括时间,使用timestamp 的话,保存的是日期+时间。
唉,好惭愧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值