簡體   English   中英

從DB2中where子句中傳遞的日期算起工作日數

[英]Count number of weekdays from the dates passed in where clause in DB2

如何計算在where子句中傳遞的給定日期范圍的工作日數。 例如,在下面的示例中,有13條記錄,但是其中只有9條屬於工作日。

select * from table_name where startdate > '2019-01-01' and enddate < '2019-01-31' Date Day Asset Price 01-01-2019 Tuesday A 5 01-01-2019 Tuesday A 23 02-01-2019 Wednesday B 20 03-01-2019 Thursday C 87 04-01-2019 Friday D 34 04-01-2019 Friday D 8 05-01-2019 Saturday E 12 05-01-2019 Saturday E 56 06-01-2019 Sunday F 214 07-01-2019 Monday G 32 08-01-2019 Tuesday H 45 09-01-2019 Wednesday I 67

select count(*)
from table_name
where startdate > '2019-01-01' and enddate < '2019-01-31'
and Day not in ("Saturday", "Sunday")

如果按原樣運行,這是否是正確的結果?

with table_name (date) as 
(
  values
  '01-01-2019'
, '01-01-2019'
, '02-01-2019'
, '03-01-2019'
, '04-01-2019'
, '05-01-2019'
, '06-01-2019'
, '07-01-2019'
, '08-01-2019'
, '09-01-2019'
)
select 
—- distinct date
count(distinct date)
from table_name
where dayofweek_iso(date(to_date(date, 'DD-MM-YYYY'))) < 6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM