如何计算startdate =今天-30天?

时间:2012-06-27 07:32:46

标签: sql sql-server sql-server-2008

我正在编写一个存储过程,我需要将开始日期和结束日期作为参数传递,默认情况下,起始名称应该是今天日期之前30天。给我一些建议来做这件事。

startdate =今天 - 30天。 ENDDATE =今天。

提前致谢。

4 个答案:

答案 0 :(得分:5)

Declare @startdate datetime

set @startdate = DATEADD(day,-30,getdate())将为您提供开始日期

答案 1 :(得分:2)

试试这个:

如果您更喜欢使用日期数据类型:

   set @startdate=dateadd(day,-30,convert(date,getdate()))
    set @enddate= convert(date,getdate())

答案 2 :(得分:1)

查看DATEADD传递-30表示移动,d表示日期部分参数。我不在电脑附近为您提供完整的语法

答案 3 :(得分:1)

select DATEADD(dd,-30,getdate()) 会给你开始日期。如果你想从前端传递结束日期,那么select getdate()会给你enddate(当前日期),然后只用来自前端的Enddate替换 getdate()