Difference between oracle DATE and TIMESTAMP

OracleJdbcOracle11g

Oracle Problem Overview


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?

Oracle Solutions


Solution 1 - Oracle

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.

Solution 2 - Oracle

Illustration of datetime data types in Oracle: enter image description here

and supporting functions: enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsupernovaView Question on Stackoverflow
Solution 1 - OracleGuillermo LuqueView Answer on Stackoverflow
Solution 2 - OracleMarcin BadtkeView Answer on Stackoverflow