【问题标题】:Get the DueDate if the date is today如果日期是今天,则获取 DueDate
【发布时间】:2018-05-04 02:01:40
【问题描述】:

我被分配创建一个提醒,如果今天是某个项目的截止日期,那么提醒将发送给团队。

我正在尝试检查如何过滤代码的 where 子句:

SELECT     dbo.salesorder.customerid, 
           dbo.salesorder.entrydate, 
           dbo.salesorder.salesorderno, 
           dbo.salesorderdetails.itemno, 
           dbo.salesorder.usercreated, 
           dbo.salesorder.duedate
from       dbo.salesorder 
inner JOIN dbo.salesorderdetails 
ON         dbo.salesorder.salesorderid = dbo.salesorderdetails.salesorderid
where     (dbo.salesorder.customerid = 238)

如果今天是 5 月 4 日,我只是我的报告以显示以下突出显示的销售订单。

【问题讨论】:

标签: sql sql-server


【解决方案1】:

将 getdate() 转换为日期并与到期日期进行比较

where     (dbo.salesorder.customerid = 238)
and       dbo.salesorder.duedate = convert(date, getdate())

【讨论】:

  • 谢谢@squirrel!只是为了确认一下,如果今天没有到期的订单,这意味着警报不会运行吗?对吗?
  • 是的。如果没有任何匹配的行,则不会有任何结果返回
【解决方案2】:
SELECT     dbo.salesorder.customerid, 
           dbo.salesorder.entrydate, 
           dbo.salesorder.salesorderno, 
           dbo.salesorderdetails.itemno, 
           dbo.salesorder.usercreated, 
           dbo.salesorder.duedate
from       dbo.salesorder 
inner JOIN dbo.salesorderdetails 
ON         dbo.salesorder.salesorderid = dbo.salesorderdetails.salesorderid
where      dbo.salesorder.duedate = CAST(GETDATE() AS DATE) --or CAST(CURRENT_TIMESTAMP AS DATE) 
           and dbo.salesorder.customerid = 238

【讨论】:

  • 谢谢@DT!只是为了确认一下,如果今天没有到期的订单,这意味着警报不会运行吗?对吗?
  • 我相信是的。但我无法确认。这可能会帮助你。 stackoverflow.com/a/27236412/6327676
猜你喜欢
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多