2014-12-15 5 views
0
SELECT trunc(to_date(substr(CLOSEDATE,1,10), 'DD-MM-YY')), 
    substr(FIXCODE, 1, 4), 
    COUNT(*) 
FROM opencall 
WHERE (opencall.status > 15 OR opencall.status = 6) 
    AND FIXCODE like 'HPS0%' 
    AND trunc(to_date(substr(CLOSEDATE,1,10), 'DD-MM-YY')) BETWEEN '01-JAN-14' AND '24-DEC-14' 
GROUP BY trunc(to_date(substr(CLOSEDATE,1,10),'DD-MM-YY')), 
    substr(FIXCODE, 1, 4) 
ORDER BY trunc(to_date(substr(CLOSEDATE,1,10), 'DD-MM-YY')) 

У меня есть этот кусок кода, который подсчитывает количество звонков, поднятых в день, против определенного кода исправления.Как исключить выходные дни - Oracle count SQL

Есть ли способ исключить выходные дни на 2014 год?

В то время как служба поддержки работает в выходные дни, номера звонков довольно сильно падают, и я хотел бы просто сосредоточиться на звонках, возведенных в понедельник до пятницы?

ответ

1

Нечто подобное:

... 
AND TO_CHAR(to_date(substr(CLOSEDATE,1,10), 'DD-MM-YYYY'), 
         'D', 'NLS_DATE_LANGUAGE=ENGLISH') NOT IN ('1', '7') 

С форматом D, воскресенье является '1', понедельник является '2', вторник является '3' и так далее. Последний аргумент принудительно устанавливает параметры NLS в ENGLISH как первый день недели в зависимости от языка.