déterminer si la plage de dates se situe entre une autre plage de dates - sql
Je suis en train d'essayer de savoir si il existe un moyen en sql (t-sql de préférence), afin de déterminer si une plage de date se situe entre une autre plage de dates.
pour les fins de mon exemple:
daterange1 = j'ai une plage de dates définie, les dates sont 1/1/2012 - 1/5/2012
daterange2 = j'ai deux autres dates à travailler avec, disons 1/3/2012 et 1/4/2012
je suis en train d'avoir ce à utiliser dans une instruction case pour quelque chose comme ça
CASE
WHEN daterange1 = 0 then result1
WHEN daterange2 falls within daterange1 then result2
END as datestuff
est-ce possible en SQL? Je suis vraiment perplexe sur ce coup, je sais comment déterminer si une date unique se situe entre une plage, mais comment peut-il être fait avec une plage de date? la réponse ne marche pas nécessairement besoin d'être dans une instruction de CAS, mais il est préférable d'.
source d'informationauteur wondergoat77
Vous devez vous connecter pour publier un commentaire.
Comment pouvez-vous obtenir
daterange1 = 0
puisque c'est un ensemble, c'est à dire 2 valeurs?Le bon test pour les chevauchements de dates est
Si vous voulez dire que daterange2 doit relever ENTIÈREMENT daterange1, puis
select *
à partir de t
où ( beginningdate entre date de début et closedate
OU endingdate entre date de début et closedate
OU ( beginningdate < startdate et endingdate >= closedate ) );