Oracle COUNT()函数

u

我有这个查询:

    select dates,To_char(dates,'DAY') DAYs FROM
    (
     select trunc(ADD_MONTHS(sysdate,-1),'MM') +  level -1 Dates from dual connect by
      level <= ADD_MONTHS(trunc(sysdate,'MM'),1)-1 -  trunc(sysdate,'MM')+1
   ) Where To_char(dates,'DY') NOT IN ('SA','SO')

上面查询的输出是:

01.05.2015  FREITAG   
04.05.2015  MONTAG    
05.05.2015  DIENSTAG  
06.05.2015  MITTWOCH  
07.05.2015  DONNERSTAG
08.05.2015  FREITAG   
11.05.2015  MONTAG    
12.05.2015  DIENSTAG  
13.05.2015  MITTWOCH  
14.05.2015  DONNERSTAG
15.05.2015  FREITAG   
18.05.2015  MONTAG    
19.05.2015  DIENSTAG  
20.05.2015  MITTWOCH  
21.05.2015  DONNERSTAG
22.05.2015  FREITAG   
25.05.2015  MONTAG    
26.05.2015  DIENSTAG  
27.05.2015  MITTWOCH  
28.05.2015  DONNERSTAG
29.05.2015  FREITAG   

我没想到这个输出。相反,我想计算所有这些天(21),这应该是我唯一的输出。

最终结果应为:

DAYS
--
21
davegreen100
select count(*) DAYs FROM
    (
     select trunc(ADD_MONTHS(sysdate,-1),'MM') +  level -1 Dates from dual connect by
      level <= ADD_MONTHS(trunc(sysdate,'MM'),1)-1 -  trunc(sysdate,'MM')+1
   ) Where To_char(dates,'DY') NOT IN ('SA','SO')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章