Я бы не указывал в качестве даты по умолчанию ничего, кроме даты, когда была введена запись (и только в том случае, если это имеет смысл сделать, как в поле date_created). Например, если вы используете данные, которые вряд ли будут использоваться в других данных, во-первых, это неверные данные, которые когда-нибудь будут преследовать вас. Кто-то, кто не знает, что вы сделали такую глупость, когда-нибудь будет искать неполные записи и, конечно, не найдет их, потому что есть дата. Или предположим, что вам нужны записи между начальной и конечной датой и записи о том, где процесс начался, но не закончился. Труднее запросить это с фиктивной датой внутри, чем с нулевым. Предположим, что вы хотите, чтобы записи были более ранними, чем установленная дата, затем вам придется помнить об исключении этих записей, иначе они будут отображаться в вашем наборе записей, то же самое, если вы хотите более поздние записи, если вы используете дату, например 3000/01/01 , Так что это такая же большая работа, как запоминание, чтобы справиться с нулем, может быть в запросе к базе данных только у вас, гораздо меньше шансов сделать это. Поэтому вы чаще будете иметь неправильные результаты для запросов, ориентированных на дату.
Нуль предназначен именно для таких ситуаций, когда вы не знаете, какое значение должно быть во время ввода данных. Никогда не подделывайте данные, чтобы избежать использования null. Это очень плохая практика.