Verwenden Sie ein korrektes date
Typ trotzdem. nicht Speichern Sie Text oder mehrere Spalten. Das wäre teurer und weniger zuverlässig.
Verwenden Sie die Funktion to_date()
, das out of the box für Ihre Anforderungen gerüstet ist. Zum Beispiel, wenn Sie es mit einem Muster 'YYYYMMDD'
aufrufen und in der tatsächlichen Zeichenfolge Zeichen für Tag oder Monat und Tag fehlen, wird standardmäßig der erste Monat / Tag des Jahres / Monats verwendet:
db=# SELECT to_date('2001', 'YYYYMMDD');
to_date
------------
2001-01-01
db=# SELECT to_date('200103', 'YYYYMMDD');
to_date
------------
2001-03-01
Sie können zusätzlich ein Genauigkeits-Flag speichern, das Jahr / Monat / Tag anzeigt, wenn Sie das brauchen.