実在日しか入っていない事が保証されている時はまだ良いが、未設定の時何が入っているのか統一しきれない事がよくあった。
CHAR(8) の場合、スペース、NULL 、’00000000’ など、さまざであり、実装段階で考慮事項が多くなりすぎる。
また、和暦/西暦? なども、曖昧になる。
日付は、日付型を使うべし。未設定は、NULLで良いではないか!
例として、商品コードが数字だけで構成されているからといって、数値型を使うのは良くない。
数値型は、そもそも演算に使用するものである。つまり、金額、数量に使う物である。だから、マイナス値も保持できる事になっている。
コードとは、記号に過ぎないので文字であるべきである。
商品コードに数字型を用いてしまうと、 "00001" 、"1" 、"1 "、" 1" が 混在してしまう危険性があり、バグの温床になるので、好ましくない。
コード値は文字列型を使おう。数値型は、演算対象の型に使え。