我有一个带参数的存储过程:
@startdate
@enddate
我有一个要求,我需要将结束日期传递为
getdate()
(当前日期),并将开始日期传递为从现在起 120 天。开始日期和结束日期的格式为YYYYMMDD
。有人可以帮忙吗?
我尝试过如下代码:
@startdate convet(varchar,getdate()-120,112)
End date = getdate()
但是由于将 fat 或 varchar 传送到白天时出错
因此,我们同意像评论中提到的那样将日期处理为 varchar 是一个坏习惯,这是一个可以帮助您的解决方法:
DECLARE @startdate nvarchar(8)
DECLARE @enddate nvarchar(8)
SET @enddate = CONVERT(nvarchar(8), GETDATE(), 112)
SET @startdate = CONVERT(nvarchar(8), DATEADD(DAY, -120, GETDATE()), 112)
SELECT @startdate,@enddate
(无栏名) | (无栏名) |
---|---|
20230416 | 20230814 |