webForumDet fria alternativet

Gämföra två datumperioder

Databaser & SQL

4 svar · 357 visningar · startad av Jaan

Medlem sedan feb. 200340 inlägg
Frågan#1

Hej!
Jag har ett litet problem med datum...

Jag har en tabell med två datum, ett startdatum och ett slutdatum (en period). Jag vill kunna gömföra alla perioder i tabellen och varna för eventuella konflikter.

Nån som har några smarta förslag?

Medlem sedan maj 200010 687 inlägg
#2

Mer en SQL fråga, men ok.

SELECT t0.* FROM tabell t0
INNER JOIN tabell t1
	ON t0.startdate BETWEEN t1.startdate AND t1.enddate
	OR t0.enddate BETWEEN t1.startdate AND t1.enddate
Medlem sedan feb. 200112 078 inlägg
#3

Flyttas från ASP, VBScript.

Medlem sedan feb. 200340 inlägg
#4

Får inte riktigt det att fungera med SQL.
Vill också förtydliga att jag vill ha ut alla poster med en flagga som varnar för dom perioder som överlappar.

Medlem sedan dec. 200012 464 inlägg
#5
select <columnsOfInterest>,
case when exists (
select * from t
where (startdate BETWEEN t1.startdate AND t1.enddate
	OR t0.enddate BETWEEN t1.startdate AND t1.enddate)
and t.pkColumn <> t1.PkColumn) then 'Överlappar'
else 'Överlappar inte' end as overlapping
from t as t1
244 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)