пустые камни. Если бы это не было необходимо в некоторых случаях, SQL не имел бы IS NULL и IS NOT NULL в качестве операторов особого случая. NULL является корнем концептуального универсального, все остальное НЕ NULL. Используйте NULL свободно, когда возможно, что значение данных отсутствует, но не пропущено. Значения по умолчанию могут компенсировать NULL, только если они абсолютно правильны все время. Например, если у меня есть однобитное поле «IsReady», может иметь смысл для этого поля иметь значение по умолчанию, равное false, и NULL не допускается, но это неявно утверждает, что мы знаем , что что бы не было готово, когда на самом деле у нас может не быть таких знаний. Скорее всего, в сценарии рабочего процесса человек, который решает, готов или не просто, еще не имел возможности высказать свое мнение, поэтому значение по умолчанию false может быть опасным, что заставит его не принимать решение, которое, по-видимому, имеет был сделан, но на самом деле был только дефолт.
в качестве отступления и со ссылкой на пример среднего инициала у моего отца не было отчества, поэтому его средний инициал был бы НЕДЕЙСТВИТЕЛЕН - не пробел, пробел или звездочка - за исключением армии, где его средний инициал был NMI = Нет среднего начального Как глупо это было?