Visa om datum är rätt

Databaser & SQL

5 svar · 221 visningar · startad av ulsy

Medlem sedan aug. 2002121 inlägg
Trådstart#1

Jag har en tabell som innehåller bla. startdatum och slutdatum.
Jag vill visa alla poster som har passerat startdatum men inte slutdatum. Man kan även välja att inte fylla in något datum och då skall även dessa poster visas.

Hur fixar man det?

Medlem sedan dec. 200012 464 inlägg
#2
select * from t
where current_date between coalesce(startdatum,current_date) 
and coalesce(slutdatum,current_date)
Medlem sedan aug. 2002121 inlägg
#3

Tack, testar det!

Medlem sedan aug. 2002121 inlägg
#4

Det fungerar nästan.
De poster som inte har varken start- eller slutdatum visas inte.
Någon idé på det?

Medlem sedan dec. 200012 464 inlägg
#5

Jaha,

select * from t
where current_date between coalesce(startdatum,current_date) 
and coalesce(slutdatum,current_date)
or (startdatum is null and slutdatum is null)

Egentligen är det fel i mysql, min första fråga skall fungera även i det fallet.

Medlem sedan aug. 2002121 inlägg
#6

Fungerar PERFEKT!

Tack för hjälpen LarsG!!!

376 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
120 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)