回答

收藏

我可以计算出SQL Server中两个日期之间有多少个周末吗?

技术问答 技术问答 246 人阅读 | 0 人回复 | 2023-09-14

我正在计算用于报告的租赁设备的收入。因此,与正常工作日相比,周末工作日的雇用成本将增加10%。因此,我该如何计算两个日期之间有多少个周末。在报表查询中,我也不能使用DECLARE。有人可以帮我做到这一点。太感谢了! j; U& K+ t/ r6 r
                ; b" }# X9 C, X+ J8 Q
解决方案:. Q4 o6 L) d) g( F1 r5 f8 a
                % |& m* Q6 @; c* A# j$ P7 b& _
/ _6 s# A4 l% T1 [4 |

7 p  t8 R1 }/ i5 W9 D3 ]/ n1 ~                这应该工作:
' e4 c8 o" M' C% F% T, fDECLARE @StartDate DATETIME2 c" t! I) e6 Y& \! ^6 I
DECLARE @EndDate DATETIME1 U2 \2 |  F. g: G% u$ B, ~
SET @StartDate = '2012/11/01'
2 L7 Q3 g; {  I6 R5 rSET @EndDate = '2012/11/05'+ T0 a. J2 i" v0 U- u

3 Z! y: T5 ~5 o5 C+ jSELECT+ A5 @0 A& |0 u8 X9 |6 K/ h6 y
  (DATEDIFF(wk, @StartDate, @EndDate) * 2)
- D6 R  E. V8 R4 R6 u   +(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday'   THEN 1 ELSE 0 END); C8 l% y8 r! N, E: K  e
   +(CASE WHEN DATENAME(dw, @EndDate)   = 'Saturday' THEN 1 ELSE 0 END)
0 v! a* z1 l4 G. w' ]http://sqlfiddle.com/#!3/d41d8/5707/0
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则