问题描述
每天我都必须运行执行存储过程的代码。我把昨天的日期硬编码在它之后。
执行 sprm_example '2021-03-10'
我尝试这样做:
执行 sprm_example 'getdate()-1' EXECUTE sprm_example 'cast(getdate()-1 as date)'
这些都不起作用,如果没有引号,它也不起作用。有什么想法吗?
解决方法
SQL Server 不允许在过程调用中使用表达式,但您可以使用变量。所以:
declare @date date;
select @date = dateadd(day,-1,getdate());
EXECUTE sprm_example @date;