Zmień funkcję serwera SQL, aby zaakceptować nowy opcjonalny parametr

Mam już funkcję w SQL Server 2005 jako:

ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric)
Returns varchar(100)  AS
Begin
  <Function Body>
End

Chcę zmodyfikować tę funkcję, aby zaakceptować dodatkowy opcjonalny parametr @ToDate. Dodam funkcję logiczną, jeśli @Todate pod warunkiem, że zrobisz coś innego z istniejącym kodem.

Zmodyfikowałem funkcję jako:

ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric,@ToDate DateTime=null)
Returns varchar(100)  AS
Begin
  <Function Body>
End

Teraz mogę zadzwonić do funkcji jako:

SELECT dbo.fCalculateEstimateDate(647,GETDATE())

Ale daje błąd w następującym wywołaniu:

SELECT dbo.fCalculateEstimateDate(647)

tak jak

Dostarczono niewystarczającą liczbę argumentów dla procedury lub funkcji dbo.fCalculateEstimateDate.

co według mojego zrozumienia nie powinno się zdarzyć.

Czy coś mi brakuje? Z góry dziękuję.

questionAnswers(3)

yourAnswerToTheQuestion