ดังที่Mitch Wheatกล่าวว่าคุณไม่สามารถส่งผ่านฟังก์ชันได้
หากในกรณีของคุณคุณควรส่งผ่านค่าที่คำนวณล่วงหน้าหรือ GETDATE () - คุณสามารถใช้ค่าเริ่มต้นได้ ตัวอย่างเช่นแก้ไขขั้นตอนการจัดเก็บของคุณ:
ALTER PROC DisplayDate
(
@DateVar DATETIME = NULL
) AS
BEGIN
set @DateVar=ISNULL(@DateVar,GETDATE())
--the SP stuff here
SELECT @DateVar
END
GO
แล้วลอง:
EXEC DisplayDate '2013-02-01 00:00:00.000'
EXEC DisplayDate
หมายเหตุ : ที่นี่ฉันคิดว่าค่า NULL ไม่ได้ใช้สำหรับพารามิเตอร์นี้ หากไม่ใช่กรณีของคุณคุณสามารถใช้ค่าอื่นที่ไม่ได้ใช้เช่น "1900-01-01 00: 00: 00.000"