Как хранить дни рождения без части года?

Аналогичный вопрос: Выбор дней рождения Postgres

Мы разрабатываем новую функцию: мы будем хранить часть месяца и дня дней рождения людей, но не год. Таким образом, у пользователя, рожденного в Рождество, будет день рождения «12/25». Вопрос в том, как мы можем лучше всего представить это в postgres?

  1. В столбце date требуется год, а также не учитываются високосные дни в невисокосные годы. Мы можем хранить все дни рождения с произвольным високосным годом, например '1972-12-25' , но это было бы немного путаницей.
  2. Мы могли бы использовать два столбца int , один для месяца и один для года, но мы полностью потеряем встроенную проверку даты pg, и вы можете сохранить дату '02 -31 ' .
  3. Мы могли бы использовать один столбец текст , но делать запросы к нему было бы некрасиво.

Есть ли какие-то варианты, которые нам не хватает? В настоящее время мы склоняемся к паре целочисленных столбцов.

Изменить:

Почему бы просто не сохранить дату рождения, которая должна быть действительной датой, и перейти оттуда?

Конфиденциальность - это дополнительная функция, и мы этого не делаем. не хочу запрашивать больше личной информации, чем необходимо.

8
задан Community 23 May 2017 в 12:17
поделиться