Użyj właściwej date
wpisz mimo to. nie przechowywać tekst lub wiele kolumn. To byłoby droższe i mniej niezawodne.
Użyj funkcji to_date()
, który jest gotowy do spełnienia Twoich wymagań po wyjęciu z pudełka. Na przykład, jeśli wywołasz to za pomocą wzorca 'YYYYMMDD'
a w rzeczywistym ciągu brakuje znaków oznaczających dzień lub miesiąc i dzień, domyślnie jest to pierwszy miesiąc/dzień roku/miesiąca:
db=# SELECT to_date('2001', 'YYYYMMDD');
to_date
------------
2001-01-01
db=# SELECT to_date('200103', 'YYYYMMDD');
to_date
------------
2001-03-01
W razie potrzeby możesz dodatkowo przechowywać flagę precyzyjną wskazującą rok / miesiąc / dzień.