当我需要存储时间/日期信息时,最好如何存储在数据库中?
如果我将它们存储为String
代表例如获取当前时间戳(使用Date
例如)并存储String
在数据库中的表示是一个好主意吗?
对此的最佳实践是什么?有什么缺点?
最佳实践是使用TIMESTAMP
or DATE
在数据库中输入。所有主要数据库供应商都支持这些 SQL 标准数据类型。
除了性能和存储优化之外,您还将获得表现力,并且能够直接在数据库中使用大量日期时间操纵函数和操作,具体取决于您使用的数据库。考虑比较日期、添加日期、添加日期间隔(例如明天是星期几)等等......
注意...
- 如果您使用 Oracle,请注意
DATE
还包含时间信息
- 如果您使用 SQLite,请注意日期时间类型可能具有数字或文本关联性。 IE。它们存储为数字或文本。
- 如果您使用的是 SQL Server、Sybase(ASE 和 SQL Anywhere)、SQLite、特定于方言的版本
TIMESTAMP
数据类型称为DATETIME
(SQL 服务器TIMESTAMP
实际上是一个VARBINARY(8)
)
- 至少 H2、HSQLDB、MySQL、Sybase SQL Anywhere 都支持
TIMESTAMP
and DATETIME
数据类型同义词。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)