Използвайте подходяща date
тип все пак. Нане съхранява текст или множество колони. Това би било по-скъпо и по-малко надеждно.
Използвайте функцията to_date()
, който е готов да се справи с вашите изисквания веднага. Например, ако го извикате с шаблон 'YYYYMMDD'
и в действителния низ липсват знаци за ден или месец и ден, по подразбиране е първият месец / ден от годината / месец:
db=# SELECT to_date('2001', 'YYYYMMDD');
to_date
------------
2001-01-01
db=# SELECT to_date('200103', 'YYYYMMDD');
to_date
------------
2001-03-01
Можете да съхраните флаг за точност, указващ година / месец / ден в допълнение, ако имате нужда от това.