【发布时间】:2016-11-08 23:39:43
【问题描述】:
我有这个查询显示从 2016 年这个月到 2015 年同月的相同天数,
但我需要显示 YTD
Ene、feb、mar、apr、may、jun,截至 2015 年 7 月 6 日和 2016 年同期(因为今天是 6 日,明天是 7 日,然后是 7 月 8 日,依此类推)含义类似于代码 i有,但不是只显示当前月份,而是需要 YTD。
SELECT OrderStatus, Sum_SellPrice, Sum_SellerMargin, Sum_BuyPrice, OrderDate
FROM Sum_OrderCharges
WHERE (OrderStatus IN ('Completed', 'Invoiced', 'Open'))
AND (OrderPeriodYear IN ('2015','2016'))
AND (MONTH(OrderDate) = MONTH(GETDATE()))
and (day(OrderDate) <= DAY(GETDATE()))
ORDER BY OrderDate
【问题讨论】:
-
AND (MONTH(OrderDate) <= MONTH(GETDATE()))? -
@PeterVandivier 由于
day部分,这将无法正常工作。如果当天是 15 号,则只会拉取前几个月的 1-15 号。 -
你可能想这样做.. select to_char(trunc(sysdate),'YYYYMMDD') as ytd from dual; select to_char(trunc(sysdate),'YYYYMMDD')-10000 as ytd from dual;
标签: sql sql-server-2008 date