我有桌子今天和昨天订购订单(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
我没有得到上述查询的结果。
答案 0 :(得分:2)
如果您想要今天和昨天的订单,那么这应该足够了:
where Order_Date >= dateadd(day, -1, cast(getdate() as date))
(这假设没有未来的订单日期,这似乎是合理的)。
由于多种原因,您的查询很乱。 datepart()
返回一个整数,并将其与日期进行比较。仅查看日期的“日期”部分将在本月的第一天起作用。而且,getdate()
- 尽管它的名字 - 有时间成分,所以直接平等是不合适的。