oracle DATE和TIMESTAMP之间的区别

sup*_*ova 75 oracle jdbc oracle11g

Oracle DATE和TIMESTAMP类型有什么区别?两者都有日期和时间组件?对于这些日期类型,Java中的相应类型是什么?

Gui*_*que 82

DATE和TIMESTAMP具有相同的大小(7个字节).这些字节用于存储世纪,十年,年,月,日,小时,分钟和秒.但是TIMESTAMP允许存储额外的信息,例如小数秒(11字节)和小数秒与时区(13字节).

TIMESTAMP作为符合ANSI标准的Oracle添加.在此之前,它只有DATE.

在一般情况下,您应该使用DATE.但如果要求精确到时间,请使用TIMESTAMP.

关于Java,Oracle JDBC驱动程序中的oracle.sql.DATE类提供了Oracle Date/Timestamp数据类型与Java类java.sql.Date,java.sql.Time和java.sql.Timestamp之间的转换.

  • 我发现它确实令人困惑,DATE类型包含TIME信息.这不是这个词的意思. (10认同)
  • "在一般情况下你应该使用DATE" - 但为什么呢? (4认同)
  • @Daddy32 `TIMESTAMP` 是在 `DATE` 之后大约 20 年添加的。他们无法真正返回并更改“日期”。 (4认同)
  • 您应该使用“ TIMESTAMP WITH TIME ZONE”。否则,夏令时会引入不明确的时间。 (2认同)

Mar*_*tke 37

Oracle中日期时间数据类型说明: 在此输入图像描述

及配套功能: 在此输入图像描述

  • @mast,因为这就是我想做的 - 说明问题/解决方案。这就是人类所习惯的——图片。它很自然,也更容易记住。 (8认同)
  • @MarcinBadtke 非常感谢你的努力! (2认同)