回答

收藏

我可以计算出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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则