Я постоянно перегружаю функции, но я знаю, что такого рода проблемы часто сильно зависят от платформы.
В нашей системе DB2 я обычно перегружаюсь следующим образом:
CREATE Функция Schema1.F1 (дата создания)
дата возвращения
дата возвращения + 1 месяц;
Функция CREATE Schema1.F1 (временная метка parm)
дата возвращения
дата возвращения (отметка времени) + 1 месяц;
Это на самом деле весьма полезно, когда у вас есть несколько запросов, которые имеют похожие требования к форматированию.
Единственная проблема, которую я обнаружил до сих пор, это то, что вам лучше быть уверенным, что вы хотите использовать функцию, потому что стандартная функция удаления "схема". "Имя" не работает, потому что она не может определить, какую функцию удалить. Если кто-нибудь знает, как сбросить перегруженные функции sql, дайте мне знать!