小编典典

如何最好地在数据库中存储时间戳或日期?

sql

当我需要存储时间/日期信息时,如何最好地将其存储在数据库中?
如果我将它们存储为String表示形式,例如获取当前时间戳(Date例如使用)并将其存储String在数据库中,这是一个好主意吗?
最佳做法是什么?有什么缺点?


阅读 320

收藏
2021-05-23

共1个答案

小编典典

最佳做法是在数据库中使用TIMESTAMPDATE键入。所有主要的数据库供应商都支持这些SQL标准数据类型。

除了性能和存储优化之外,您还将获得表现力,并且可以直接在数据库中使用许多日期时间操纵函数和操作,具体取决于所使用的数据库。考虑一下比较日期,添加日期,为日期添加间隔(例如,明天是星期几)等等。

注意…

  • 如果您使用的是Oracle,请注意其中DATE还包含时间信息
  • 如果您使用的是SQLite,请注意日期时间类型可能具有数字或文本相似性。即它们存储为数字或文本。
  • 如果您使用的是SQL Server,Sybase(ASE和SQL Anywhere),SQLite,TIMESTAMP则称为数据类型的方言特定版本DATETIME(SQL ServerTIMESTAMP实际上是VARBINARY(8)
  • 至少H2,HSQLDB,MySQL,Sybase SQL Anywhere同时支持TIMESTAMPDATETIME数据类型同义词。
2021-05-23