【问题标题】:how to calculate startdate=today-30 days?如何计算 startdate=today-30 天?
【发布时间】:2012-06-27 07:32:46
【问题描述】:

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

开始日期=今天-30 天。 结束日期=今天。

提前致谢。

【问题讨论】:

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


    【解决方案1】:
    Declare @startdate datetime
    

    set @startdate = DATEADD(day,-30,getdate()) 会给你你的开始日期

    【讨论】:

      【解决方案2】:

      试试这个:

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

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

      【讨论】:

      • 只是补充一下,如果您更喜欢使用日期数据类型:declare @startdate as date;set @startdate = dateadd(d, -30, GETDATE());select @startdate;
      【解决方案3】:

      查看传递 -30 的 DATEADD 作为移动和 d 作为日期部分参数。我不在电脑附近给你完整的语法

      【讨论】:

      • 手机也有stackoverflow ;)
      • @SeanW - 我猜他的意思是他在使用智能手机,不确定。我希望他没有内置 WiFi 或 3G!
      • 我知道,我知道。我只是很傻。 (因为在我看来,智能手机就是电脑……)。 @Dems - 完全正确!我就是这么想的! :)
      • 实际上是在我的智能手机上,而不是靠近带有 sql 的计算机,以便能够检查完整的语法。内置 WiFi - 必须对此进行调查 :)
      【解决方案4】:

      select DATEADD(dd,-30,getdate()) 会给你开始日期。如果您想从前端传递结束日期,select getdate() 会给您 enddate(current date) 然后只需将 getdate() 替换为来自前端的 Enddate。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-14
        • 1970-01-01
        • 2018-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多