2012-10-31 102 views
3

我正在创建一个数据库,我对使用日期或时间戳记字段有点困惑。oracle日期时间的数据类型

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

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

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

将使用时间戳比使用日期更好吗?或不同领域的日期和时间。

干杯

回答

3

的DATE数据类型还存储时间,这样你就不会需要两个字段。两者之间的区别是

  1. 时间戳下降到小数秒
  2. 扣除两个时间戳(时间戳的时间戳)导致的时间间隔的数据类型的回答。对于日期,您会得到一个NUMBER,这是一个以天为单位的数字。
  3. 如果您需要存储时区,则可以使用TIMESTAMP WITH TIME ZONE,但无法在日期字段中执行此操作。
  4. 日期采取稍微较少的存储空间(7个字节VS时间戳11个字节)(当时间戳的精度> 0..otherwise时间戳(0)也7个字节)

时间戳数据类型是更现代(ASNI),而DATE则在甲骨文时间更长。

+0

请注意,默认情况下,“TIMESTAMP”扩展为“TIMESTAMP WITH LOCAL TIME ZONE”。 TIMESTAMP WITH TIME ZONE似乎表现为完全独立的数据类型。 – jpmc26

相关问题