ＤＢのテーブルの日付項目に関して


いろんなシステムを見てきてＤＢのテーブルに格納する日付項目に対して型がVARCHAR2やDATEであったりするのですが、どう使い分けているのでしょうか。  
VARCHAR2であることのメリット、DATE型にすることのメリットなど何かあるのでしょうか。




日付に限らず、型が用意されているのであればそれを使うのが大原則です。文字列として保存してしまうと、計算や比較をするのにいちいちややこしい処理が必要になります。無意味ですしバグのものとです。

文字列型を使うのは、データの都合などでそうせざるを得ないなど消極的な理由の場合のみです。西暦和暦が混在していてそのままの形で保存しないといけないとか、n月0日みたいな無効日に特別な意味があるとか。

文字列型が使用されるもう一つの理由として、「なんでも文字列型」にしたがるおかしな人が一定います。ひどい人になると数値ですら文字列型で保存しろという主張をしてたりします。

