CH? Допустим, нужно хранить дату рождения. При этом иногда попадаются долгожители, которым 100 и даже более лет. Минимальная дата в CH - это 1925-01-01 (для типа Date32). Ждать, пока умрут долгожители - не вариант. Хранить в числовом виде практически бесполезно, так как при преобразовании опять упремся в ограниченный по низу диапазон. Остается только хранить в виде текста? Но в этом случае будет сложно посчитать, например, возраст или вообще произвести какие-либо расчеты с использованием таких дат.
Смотря что вы планируете считать, можно разделить дату на столбцы год, месяц, день. Можно хранить целочисленно в виде 19050131. Можно хранить дельту до 1970-01-01.
Например, нужно посчитать возраст. Также могут понадобиться разбивки людей по годам и месяцам, например. Или нужно посчитать всех, у кого через неделю день рождения. В общем во всех случаях посчитать можно и через пользовательскую функцию, но очень жаль, что штатные функции становятся бесполезными. Единственный простой вариант - хранение дат с добавлением 1 столетия. Это легко считается и обеспечивает корректность високосных лет.
Обсуждают сегодня