我可以计算出SQL Server中两个日期之间有多少个周末吗?
技术问答
210 人阅读
|
0 人回复
|
2023-09-14
|
我正在计算用于报告的租赁设备的收入。因此,与正常工作日相比,周末工作日的雇用成本将增加10%。因此,我该如何计算两个日期之间有多少个周末。在报表查询中,我也不能使用DECLARE。有人可以帮我做到这一点。太感谢了
/ y5 e8 x' J3 R* s
3 a4 m* |. p8 @, m S# h解决方案:
) F9 F( A' l |8 O7 V 1 c& |! n5 _; Y2 f. u
3 Q9 @7 l% K( ?6 L2 B. E' A
" a) r) m$ P' ]0 c! a( f" Z4 b2 ?
这应该工作:( d- e$ Z1 L3 R- V6 W
DECLARE @StartDate DATETIME
" f7 y/ C1 _0 ^$ @+ NDECLARE @EndDate DATETIME* N0 m& T! U2 D6 q( m6 n: f
SET @StartDate = '2012/11/01'' N# G. R8 O( `0 {+ I$ L2 l, }+ p' K
SET @EndDate = '2012/11/05'
1 s: N; g* V/ k
+ g) I! B& V$ T2 ~7 R7 P" n, ]5 J: hSELECT
! A* h/ N) G' X' s) c2 B (DATEDIFF(wk, @StartDate, @EndDate) * 2)' H; ]! U6 M2 b3 s& Y
+(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END)6 S' A4 i) e5 |/ E( l: P
+(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END)( v6 n- U6 U5 @ d; {
http://sqlfiddle.com/#!3/d41d8/5707/0 |
|
|
|
|
|