sql服务器时间不正确,SQL服务器如何获得的时间差不包括周末和节假日?(SQL Server How to get Dat...

我有这个表:

tbl_Sales

----------------------------------------

|Item_Code|Sold|Date |

|---------+----+-----------------------|

|BBPen100 |30 |2017-04-17 00:00:00.000|

|BBPen100 |21 |2017-04-13 00:00:00.000|

|BBPen100 |13 |2017-04-12 00:00:00.000|

|XSHIRT80 |0 |2017-04-17 00:00:00.000|

|XSHIRT80 |24 |2017-04-14 00:00:00.000|

|XSHIRT80 |9 |2017-04-13 00:00:00.000|

|XSHIRT80 |5 |2017-04-12 00:00:00.000|

|YBSHADE7 |0 |2017-04-17 00:00:00.000|

|YBSHADE7 |6 |2017-04-15 00:00:00.000|

|YBSHADE7 |0 |2017-04-13 00:00:00.000|

|YBSHADE7 |11 |2017-04-12 00:00:00.000|

----------------------------------------

我怎样才能获得最后一个非零销售从过去的2个工作日内价值? 这意味着,我需要排除周末和节假日。 我有这个表格其中包括节假日。

tbl_Holiday

-------------------------

|Holiday_Date |

|-----------------------|

|2017-04-14 00:00:00.000|

|2017-05-01 00:00:00.000|

|2017-10-18 00:00:00.000|

|2017-12-25 00:00:00.000|

-------------------------

因此,例如,今天是2017年4月18日,在输出应该是这样的:

---------------------

|Item_Code|Last_Sold|

|---------+---------|

|BBPen100 |30 |

|XSHIRT80 |9 |

|YBSHADE7 |0 |

---------------------

我们的目标是让从去年2个工作日的最后一个销售值,因此计数在2017年4月17日开始。 输出分析:

BBPen100-since it has value from last 1 working day (2017-04-17), that value will be retrieved.

XSHIRT80-Zero value from last 1 working day (2017-04-17)

-2017-04-16 & 2017-04-15 are weekends

-2017-04-14 is holiday

-So value from 2017-04-13 will be retrieved.

YBSHADE7-Zero value from last 1 working day (2017-04-17)

-2017-04-16 & 2017-04-15 are weekends

-2017-04-14 is holiday

-2017-04-13 has Zero value

-2017-04-12 is beyond Last 2 working days

-So value retrived should be Zero

目前,我有这个疑问:

SELECT Item_Code, Sold AS 'Last_Sold'

FROM tbl_Sales

WHERE CONVERT(date, [DATE]) = CASE

WHEN CONVERT(date, [DATE]) = CONVERT(date, DATEADD(day, -1, GETDATE())) THEN CONVERT(date, DATEADD(day, -1, GETDATE()))

WHEN CONVERT(date, [DATE]) <> CONVERT(date, DATEADD(day, -1, GETDATE())) THEN CONVERT(date, DATEADD(day, -2, GETDATE()))

但当然,这将不能满足要求。

请帮我解决这个问题。

重要提示:如果我跑在周末或节假日方案考虑在周末假期和什么。

先感谢您。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值