【发布时间】:2013-10-09 01:54:21
【问题描述】:
Oracle DATE 和 TIMESTAMP 类型有什么区别? 两者都有日期和时间部分? 这些日期类型在 Java 中的对应类型是什么?
【问题讨论】:
Oracle DATE 和 TIMESTAMP 类型有什么区别? 两者都有日期和时间部分? 这些日期类型在 Java 中的对应类型是什么?
【问题讨论】:
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 之间的转换。
【讨论】:
TIMESTAMP WITH TIME ZONE。否则夏令时会引入不明确的时间。
TIMESTAMP 是在 DATE 大约 20 年后添加的。他们真的不能回去改变DATE。