What are the difference between Oracle DATE and TIMESTAMP type? Both have date and time component? Also what is corresponding type in Java for these date types?
DATE
and TIMESTAMP
have the same size (7 bytes). Those bytes are used to store century, decade, year, month, day, hour, minute and seconds. But TIMESTAMP
allows to store additional info such as fractional seconds (11 bytes) and fractional seconds with timezone (13 bytes).
TIMESTAMP
was added as an ANSI compliant to Oracle. Before that, it had DATE
only.
In general cases you should use DATE
. But if precision in time is a requirement, use TIMESTAMP
.
And about Java, the oracle.sql.DATE
class from Oracle JDBC driver, provides conversions between the Oracle Date/Timestamp data type and Java classes java.sql.Date
, java.sql.Time
and java.sql.Timestamp
.