DATEPART 函数分配
DATEPART function assigning
我有table今天和昨天(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
我没有得到上述查询的结果。
如果你想要今天和昨天的订单,那么这应该足够了:
where Order_Date >= dateadd(day, -1, cast(getdate() as date))
(假设没有未来的订单日期,这似乎是合理的)。
由于多种原因,您的查询一团糟。 datepart()
returns 一个整数,您正在将它与日期进行比较。仅查看日期的 "day" 部分在该月的第一天不起作用。而且,getdate()
——尽管它的名字——有一个时间部分,所以直接相等是不合适的。
我有table今天和昨天(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
我没有得到上述查询的结果。
如果你想要今天和昨天的订单,那么这应该足够了:
where Order_Date >= dateadd(day, -1, cast(getdate() as date))
(假设没有未来的订单日期,这似乎是合理的)。
由于多种原因,您的查询一团糟。 datepart()
returns 一个整数,您正在将它与日期进行比较。仅查看日期的 "day" 部分在该月的第一天不起作用。而且,getdate()
——尽管它的名字——有一个时间部分,所以直接相等是不合适的。