Вот есть ?(Условие, Истина, Ложь) - здесь так задают с времен 77.
А вот в запросе написано ЕстьNULL(какое-то число, 0);
Процедуру назвали так, что всё-время хочется вбить первым параметром значение 0, т.к. удовлетворяет условию, а вторым значение... Из каких соображений сделали наоборот?
(0) Потому что так удобно.
при соединении 2х таблиц по полю, если в первой есть значение, берем первую, если null, то берем из второй. Это очень частая операция.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший