【问题标题】:DATEPART function assigningDATEPART 功能分配
【发布时间】:2017-11-18 17:35:35
【问题描述】:

今天和昨天(18,17)我有桌子订购订单

我需要找到那些结果。

select A.C_Name 
from Customer_Table A
 inner join
 Order_Table O
   On A.C_ID=O.C_ID
   where DATEPART(DAY,Order_Date)=GetDATE() and
  DATEPART(DAY,Order_Date)=GETDATE()-1

我没有得到上述查询的结果。

【问题讨论】:

标签: sql sql-server inner-join getdate datepart


【解决方案1】:

如果您想要今天和昨天的订单,那么这应该足够了:

where Order_Date >= dateadd(day, -1, cast(getdate() as date))

(假设没有未来的订单日期,这似乎是合理的)。

由于多种原因,您的查询一团糟。 datepart() 返回一个整数,您将其与日期进行比较。仅查看日期的“日”部分在本月的第一天是行不通的。而且,getdate()——尽管它的名字——有一个时间分量,所以直接相等是不合适的。

【讨论】:

  • 谢谢@Gordon Linoff
  • @sampathacharya 如果这个答案解决了您的问题,您必须接受它,要了解有关接受和支持答案的更多信息,请阅读Tour page
猜你喜欢
  • 2016-12-14
  • 1970-01-01
  • 2020-08-05
  • 1970-01-01
  • 2022-11-22
  • 2017-04-23
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多