真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle如何求工作日 oracle 日期 星期

怎么在oracle中,計算出任意日期之間的工作日天數(shù)

怎么在oracle中,計算出任意日期之間的工作日天數(shù)

創(chuàng)新互聯(lián)公司,專注為中小企業(yè)提供官網(wǎng)建設、營銷型網(wǎng)站制作、響應式網(wǎng)站設計、展示型成都網(wǎng)站設計、做網(wǎng)站等服務,幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設與網(wǎng)站營銷推廣問題。

=NETWORKDAYS(A10,B10),

A10起始日期,B10結束日期,這個只能計算雙休.

Oracle計算指定日期內(nèi)的工作日(不包含周末)

~~~

1、獲取當天是禮拜幾:selectto_char(sysdate,'d')fromdual;--禮拜天為1,禮拜一為2,類推

2、獲取 兩個時間段間的 工作日:

select(trunc(end_dt - start_dt) -

((case

WHEN(8- to_number(to_char(start_dt,'D'))) trunc(end_dt - start_dt) +1THEN0

ELSE

? ? ? trunc((trunc(end_dt - start_dt) -

(8- to_number(to_char(start_dt,'D'))))/7) +1END) +

(case

WHENmod(8- to_char(start_dt,'D'),7) trunc(end_dt - start_dt) -1THEN0

ELSE

trunc((trunc(end_dt - start_dt) - (mod(8- to_char(start_dt,'D'),7) +1))/7) +1END)))

asworkingdays

fromdual

下面的sql可以直接運行:

select(trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) -

((case

WHEN(8- to_number(to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'))) trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) +1THEN0

ELSE

trunc((trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) -

(8- to_number(to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'))))/7) +1END) +

(case

WHENmod(8- to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'),7) trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) -1THEN0

ELSE

trunc((trunc(to_date('2010-11-11','yyyy-mm-dd') -to_date('2010-11-07','yyyy-mm-dd')) - (mod(8- to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'),7) +1))/7) +1END)))

asworkingdays

fromdual

~~~

Oracle sql 查詢語句 分別查詢工作日和周末數(shù)據(jù)

select count(id),sum(case when day='星期一' or day='星期二' or day='星期三' or day='星期四' or day='星期五' then 1 else 0 end) 工作日,sum(case when day='星期六' or day='星期日' then 1 else 0 end) 周末 from table

另外:我發(fā)現(xiàn)你的表中有重復值啊,這個怎么算,不管么?還是要去重?這張表(我說的是例子)似乎有點問題。

還應該由其他寫法,暫時就想起這一種來。

求教各位大俠,oracle數(shù)據(jù)庫中求某個日期后的第N個工作日是哪天。

思路:20個工作日是4個周的工作日 加上4*2個休息日 20+4*2一共是28天,將2012-9-29日之后的28天列出來,查找第20個工作日

關于計算這個28其實沒有必要,因為這是最小范圍,取任意大于28的范圍都可以

select * from

(

with x as (

select trunc(to_date('2012-9-28','yyyy-mm-dd')+level,'dd') +level-1 day ,to_char(to_date('2012-9-28','yyyy-mm-dd')+level,'dy') weekday from dual

connect by level = 28

)select rownum id,x.* from x where weekday not in ('星期六','星期日')

)y where id = 20


文章題目:oracle如何求工作日 oracle 日期 星期
鏈接地址:http://weahome.cn/article/hieehd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部