Mysql, какой тип поля использовать для дат с сочетанием полных и неполных дат - PullRequest
1 голос
/ 30 июня 2009

У меня есть таблица, в которой есть три разных столбца даты, поэтому я устанавливаю для каждого столбца тип «дата».

Однако всякий раз, когда я импортирую даты, они меняются, и я обнаружил, что это связано с тем, что mysql не допускает нулевые дни и месяцы.

Мои даты варьируются от

1909-00-00 1963-09-00 1907-11-30

поэтому иногда мы не знаем месяц, иногда день, а иногда записывается только год.

Конечно, «правильный» способ сделать это - использовать какое-то поле даты, но я пробовал множество разных макетов при импорте данных и неработающих файлов :( дд-мм-гггг мм-дд-гггг гггг / дд / мм * +1011 *

Есть предложения?

Ответы [ 2 ]

1 голос
/ 30 июня 2009

Нет структуры данных, которая бы действовала как дата, но позволила бы 00 для любого из компонентов. Если вы действительно настаивали на эмуляции, вы можете разбить данные на 3 столбца - год, месяц, день, а затем написать сложный триггер для проверки каждого запроса на обновление / вставку.

Я бы не посмел. Однако вы спросили, а я попытался ответить. ;]

0 голосов
/ 30 июня 2009

Я бы предложил использовать varchar, а затем конвертировать его, когда вам понадобится дата. Здесь - сайт с некоторыми функциями даты, которые были бы полезны.

...