开始、结束日期参数的问题

问题描述 投票:0回答:1

我有一个带参数的存储过程:

@startdate 
@enddate 

我有一个要求,我需要将结束日期传递为

getdate()
(当前日期),并将开始日期传递为从现在起 120 天。开始日期和结束日期的格式为
YYYYMMDD
。有人可以帮忙吗?

我尝试过如下代码:

@startdate convet(varchar,getdate()-120,112) 

End date = getdate()

但是由于将 fat 或 varchar 传送到白天时出错

sql sql-server adfs
1个回答
0
投票

因此,我们同意像评论中提到的那样将日期处理为 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

小提琴

© www.soinside.com 2019 - 2024. All rights reserved.