也许我在这里是个白痴,但我正在尝试将默认的DateTime值分配给MS sql Server 2005中的存储过程,但无法让它工作,例如:
CREATE PROCEDURE MyProcedure ( @MyInteger INT = 123,@MyDateTime DATETIME = CONVERT(DATETIME,'1753-01-01 00:00:00',20) ) AS BEGIN ... (snip)
因此,如果未指定@MyDateTime输入参数,则默认情况下应使用’1753-01-01 00:00:00′,但是我收到错误…
Incorrect Syntax near the keyword 'CONVERT'.
我可以让它为Integers工作就好了.我究竟做错了什么?
编辑:从下面的答案中,我最终在Sproc本身内部进行了以下操作:
CREATE PROCEDURE MyProcedure ( @MyInteger INT = 123,@MyDateTime DATETIME = NULL ) AS BEGIN SET NOCOUNT ON SET @MyDateTime = COALESCE(@MyDateTime,CONVERT(DATETIME,20)) ...snip... END