1. ホーム
  2. oracle

[解決済み] oracleのDATEとTIMESTAMPの違いについて

2022-12-12 01:50:05

質問

OracleのDATE型とTIMESTAMP型の違いは何ですか? どちらも日付と時刻の要素を持っていますか? また、これらの日付型に対応するJavaの型は何ですか?

どのように解決するのですか?

DATEとTIMESTAMPは同じサイズ(7バイト)です。これらのバイトは世紀、年代、年、月、日、時、分、秒を格納するために使用されます。しかし、TIMESTAMPは、端数秒(11バイト)やタイムゾーンを含む端数秒(13バイト)などの追加情報を格納することができます。

TIMESTAMPはOracleにANSI準拠で追加されました。それ以前はDATEのみでした。

一般的なケースではDATEを使うべきでしょう。しかし、時間の正確さが要求される場合は、TIMESTAMPを使用します。

そして、Javaについては、Oracle JDBCドライバのoracle.sql.DATEクラスが、Oracle Date/Timestampデータ型とJavaクラスjava.sql.Date、java.sql.Time、java.sql.Timestamp間の変換を提供しています。