我可以将 DATEADD 直接传递给变量吗?
Can I pass DATEADD straight into a variable?
在我正在编写的一个 tSQLt 测试中,我调用了一个带有参数的方法来填充预期的 table,如下所示:
EXEC Test.Insert_Expected
@CommencementDt = DATEADD(MONTH, 1, GETDATE)
但是我在第二行的 MONTH 部分收到错误消息:
'Incorrect syntax near MONTH, expecting ( or SELECT'
我刚开始使用参数化方法,一直在想为什么这不起作用,我该如何解决?谢谢
尝试使用 GETDATE()
而不是 GETDATE
试试这个
DECLARE @CommencementDt datetime = DATEADD(MONTH, 1, GETDATE())
EXEC Test.Insert_Expected @CommencementDt
因为您不能将函数的结果直接传递到存储过程的输入中。相反,您必须将函数的结果分配给一个变量并将该变量传递给 sp
在我正在编写的一个 tSQLt 测试中,我调用了一个带有参数的方法来填充预期的 table,如下所示:
EXEC Test.Insert_Expected
@CommencementDt = DATEADD(MONTH, 1, GETDATE)
但是我在第二行的 MONTH 部分收到错误消息:
'Incorrect syntax near MONTH, expecting ( or SELECT'
我刚开始使用参数化方法,一直在想为什么这不起作用,我该如何解决?谢谢
尝试使用 GETDATE()
而不是 GETDATE
试试这个
DECLARE @CommencementDt datetime = DATEADD(MONTH, 1, GETDATE())
EXEC Test.Insert_Expected @CommencementDt
因为您不能将函数的结果直接传递到存储过程的输入中。相反,您必须将函数的结果分配给一个变量并将该变量传递给 sp