Declare
@date1 date = '2015-12-01'
,@date2 date = '2015-12-30'
BEGIN
Declare @date_u char = Month(@date1)
,@date_v char = Month(@date2)
Select
STD.StoreNo As StoreNo
,CheckDate as Date
,ProductBarCode as ProductBarCode
,SUM( StocktakingQty)AS ProducQty
From StockTakingDetail STD
Inner Join
(Select StoreNo,CheckNo,CheckDate
From StockTakingMain SM )StocktakingMain
On STD.CheckNo =StockTakingMain.CheckNo
where year(CheckDate) between @date_u and @date_v
group By STD.StoreNo,STD.ProductBarCode,CheckDate
End实际上,我想要显示每日库存,但每月只显示一次。
他们过去常常在仓库里盘点库存。我无法在没有数据的情况下填补日期空白。因此,我计划只使用月份和年份来获取数据。但是,我不能找到一种方法,如何从日期中只获取月份和年份的输入参数。
有人能帮上忙吗?
发布于 2016-08-17 10:27:28
您希望您的where子句看起来像这样吗?
where year(CheckDate) * 100 + month(CheckDate) between year(@date1) * 100 + month(@date1) and
year(@date2) * 100 + month(@date2)如果是这样的话,我真的会选择:
where CheckDate >= date_sub(@date1, interval 1 - day(@date1)) and
CheckDate < date_add(date_sub(@date2, interval 1 - day(@date2)), interval 1 month)https://stackoverflow.com/questions/38987170
复制相似问题