我可以计算出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 |
|
|
|
|
|