我正在创建数据库,但对于将日期或时间戳用于字段有点困惑。

我需要创建一些触发器来检查可用的日期和时间,所以我认为我可以使用相同的字段来存储两个值。

我更倾向于使用TIMESTAMP,因此;

TO_TIMESTAMP('18/03/2012 02:24', 'DD/MM/YYYY HH24:MI')


使用时间戳会比使用日期更好吗?或不同字段中的日期和时间。

干杯

最佳答案

DATE数据类型还存储时间,因此您不需要两个字段。两者之间的区别在于


时间戳降至小数秒
减去两个时间戳(timestamp-timestamp)会得到INTERVAL数据类型答案。对于日期,您将获得一个NUMBER,以天为单位。
如果您需要存储时区,那么TIMESTAMP WITH TIME ZONE可用,则无法在日期字段中执行此操作。
日期占用的存储空间略少(7个字节vs时间戳11个字节)(当时间戳的精度> 0时。否则,timestamp(0)也是7个字节)


时间戳数据类型更现代(ASNI),而DATE在Oracle中的存在时间更长。

关于date - oracle datetime的数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13161235/

10-14 19:22