OracleのDATE型が7バイトの理由

何故7バイトなのか?細かく仕様を理解していなかったので、
基礎的なことで恥ずかしいが、調べてみた。



格納されている情報

日付(DATE)型のデータには 年、月、日、時、分、秒 の情報が保持されている。

単純に ‘YYYYMMDDHH24MISS’ という日付データをみると、
7バイトで収まらないようにみえる。

内部的な値の扱い方が違う

日付(DATE)型データは、内部的に「年(西暦)が2バイト」、「その他が各1バイト」で扱われている。

よって、日付(DATE)型データは固定長7バイトとなっているわけ。