2014-06-30 7 views
0

Je veux interroger un sql pour sélectionner les jours restants, mais négliger sundays, jusqu'à présent, j'ai cetteSkipping dimanche en jours oracle différence

select to_date(due_date) - trunc(sysdate) 
from project 
where project_name = 'SUPPERHOUSE' 

et comment ignorer dimanche occurences?

grâce

Répondre

2

Dans le passé, j'utilisé une requête comme ceci:

select TRUNC (sysdate) - TRUNC (due_date) -1 * (to_char(sysdate, 'WW') - to_char(due_date, 'WW')) solution 
    from project 
where project_name = 'SUPPERHOUSE' 

Vous pouvez vérifier SQLFiddle demo.

+2

Cette solution échoue si le laps de temps est supérieur à un an! –

+0

vous avez raison, j'ai été en mesure de supprimer un nombre fixe de dimanches par année de différence (52), mais la meilleure solution serait une fonction séparée qui calcule le nombre de dimanche pour chaque année entre due_date et sysdate. Malheureusement, cela nécessite un peu de temps pour le faire – mucio

Questions connexes