В каком виде хранить даты исторических события в БД?
Требуется хранить даты исторических событий в БД, включая даты до нашей эры.
Как лучше организовать хранение, чтобы потом можно было удобно сортировать по ним?
Полагаю, нужно, как минимум, два поля - дата начала события и дата окончания, но как сделать, чтобы было удобно, пока не понимаю.
В каких диапазонах то? И с какой точностью?
Вообще "чтобы удобно сортировать" - значит целое число. Стандартный timestamp не подойдет, но кто мешает использовать свои аналоги? Например, храните количество дней с 0 года в знаковом типе (отрицательные значения - до н.э.)
Благодарю за ответ.
Точность разная - от года до дня.
Может быть диапазон лет 400 - 380 гг. до н. э.
Может быть просто год 400 г. до н. э.
А может быть 14 марта 1371 г.
А может быть март 1371 г.
lexstile, Т.е. всего лишь пару миллионов дней в обе стороны. Смело храните в днях )
Только придется повозиться с функцией перевода в читаемый формат, конечно. Плюс всякие дичи вроде старых/новых стилей и прочего.
SYEAR или YEAR Год, записанный словами, а не цифрами; если указано'S' то перед датами до нашей эры ставится '-'.
BC или AD BC- до нашей эры(до н.э.); AD - нашей эры
B.C. или A.D. B.C.- до нашей эры(до н.э.); A.D. - нашей эры