在数据库后端存储时间和日期

时间:2014-05-24 20:47:17

标签: sql database datetime

将日期作为Date数据类型存储在SQL数据库中与使用整数数据类型在单独的列中存储年,月,日等有什么缺点?我注意到我工作的应用程序的数据库后端将所有日期分成几天,几年,几年的整数列。为什么开发人员会使用这种模式?

2 个答案:

答案 0 :(得分:1)

使用日期数据类型的主要思想是您可以轻松地使用这样的DB命令:GIVE ME记录日期从01-10-2014 08:30 UTC到04-10-2014 02:30 UTC。在DB系统中需要在返回结果之前只查看和比较一个字段,否则系统需要在返回结果之前检查几个列。

我不建议您使用少量字段来显示日期。使用经典。 :) 像你的描述中的这种实现只能解释app应用日期做一些特殊操作。

答案 1 :(得分:1)

有些缺点。 。

  • 将错误日期保留在数据库之外会更加复杂很多。 2014年2月29日不是有效日期,但2016年2月29日是。
  • 日期算术更复杂。
  • 将日期或时间戳作为复合键的一部分并不罕见。将日期值拆分为多个列可使外键引用更加有效。