7

我正在创建一个数据库,我对使用日期或时间戳作为字段有点困惑。

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

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

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

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

干杯

4

1 回答 1

9

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

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

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

于 2012-11-01T15:38:23.013 回答