Spara som datum+tid. Eller antal sekunder sedan midnatt. Eller antal minuter sen midnatt. Bara du vet var du räknar ifrån så är allting grönt. Att använda två fält känns bara bökigt och ineffektivt.
Ex: du spara antal timmar ifrån midnatt. Butiken öppnar 10:00 och stänger 03:00. I databasen lagrar du då 10 resp. 27 (dvs. 24 + 3)
För att visa de som har öppet just nu så har du följande villkor:
om veckodag = idag
och öppnar <= nu <= stänger
eller
om veckodag = idag - 1
och stänger > 24 och (nu + 24) <= stänger
(Är inte helt nöjd med den här lösningen heller dock, känns dock bättre, tycker jag, än att ha ett eget fält för om det är dygnsöverskridande eller inte. En lösning, som jag tycker verkar ännu bättre, på ett sätt, är att lagra varje del av ett dygn för sig. 10 - 03 skulle då bli två poster, 10-24 & 00 - 03, som sedan har en fk till "öppettiden" den aktuella veckodagen.) Mycket enkelt att ställa frågor emot.
Datum+tid var jag inne på, fast med ett dummy-datum tex 2001-01.01
och sen inte lagra det, utan bara ha med det i Queryn. Då kan jag ju kolla om Öppetiden är större än stängningstiden, om så är fallet så blir dummydatumet +1 dag
Fast Timmar från midnatt öppningsdagen var ju rätt elegant med
får testa lite och återkommer :)
Övriga förslag välkomnas såklart med ;)
274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e