我有一个存储过程,它带有两个参数,@FromDate
和@ToDate
。但@fromDate
应为GetDate()-90
。如何传递参数值?
ALTER PROCEDURE spMyProcedure
@FromDate DATE,
@ToDate DATE
AS
BEGIN
// SQL statements
END
我想这样执行:
EXEC spMyProcedure @FromDate = GETDATE() - 60, @ToDate = GETDATE()
但它会引发错误。
答案 0 :(得分:0)
我怀疑你正在使用SQL Server,然后在存储过程中使用dateadd()
函数
set @FromDate = dateadd(day, -90, getdate())
答案 1 :(得分:0)
您无法对传递给存储过程的值执行alter / math / etc.您可以在存储过程上方声明一个日期,然后传递该值,如下所示:
DECLARE @PassDate AS DATETIME
SET @PassDate = GETDATE() - 60
EXEC spMyProcedure @FromDate = @PassDate, @ToDate = GETDATE()