webForumDet fria alternativet

Visa om datum är rätt

Databaser & SQLur Databashanterare & SQL

5 svar · 217 visningar · startad av ulsy

Medlem sedan aug. 2002121 inlägg
Frågan#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!!!

131 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)