2011-06-16 83 views
0

所有这些不同的日期类型让我困惑。有日期时间,时间戳,日期,谁知道还有什么。如果我需要跟踪日期,但也希望提出“在06/01/2010和06/30/2010之间查找记录”的查询,我应该使用哪种字段类型?目前,我使用“日期”,因为我不需要时间戳或时间本身。Mysql日期字段,为什么有这么多选项?

我认为postgresql只有一个字段类型的日期,但它可以通过SQL函数格式化,我相信。 :-)

回答

1

日期为您要求的正确的。

为什么这么多选项?那么,一个数据库可能只有一种类型,让我们拿BLOB - 但它不会很有用。如果你的系统知道它处理的是什么类型的数据会更好,所以它可以为你提供特殊的功能(就像你说的,在给定的日期之间找到日期)。

不同类型:

  • DATE只是,没有时间包括
  • DATETIME是一个时间
  • TIMESTAMP是一个时间的日期的日期,并会自动改变,每次约会该行已更新。
+0

当我第一次开始使用mysql编程时,遇到一篇文章说我需要时间戳或日期时间来查找两个日期之间的范围。这是真的还是将DATE工作发现? – luckytaxi 2011-06-16 21:04:20

+0

对于日期算术或BETWEEN搜索,DATE可以很好地工作。 DATE只是TIME的特殊DATETIME,时间为0:00:00,占用的字节更少...... – Konerak 2011-06-16 22:02:44

0

对于您给出的示例,日期将正常工作。如果您认为将来可能需要时间,您显然不会获得该信息,并且日期时间也适用于您的目的,但如果您确定,没有理由不使用日期。

相关问题