webForumDet fria alternativet

Läsa ut data mellan två tider

Databaser & SQLur Databashanterare & SQL

5 svar · 488 visningar · startad av Flow

FlowMedlem sedan dec. 200283 inlägg
#1

Hallåj!

Har ett litet problem som jag inte klarar av att lösa själv, jag har en tabell som innehåller bl.a. två fält som heter

start_tid
slut_tid
vecko_dag

vecko_dag kan se ut t.ex. såhär: 1|5|6 där siffrorna är samma sak som date('w'). start_tid och slut_tid ser ut t.ex. 18:00:00

Använder denna sql-sats:

SELECT id FROM timeTabell WHERE (start_tid<CURTIME() AND slut_tid>CURTIME() AND vecko_dag LIKE '%" . date('w') . "%'

Allting fungerar perfekt förutom när slut_tid = 00:00:00, hur kan jag lösa detta några tips?

mvh
Flow

PeeerMedlem sedan mars 20025 907 inlägg
#2

Tråden flyttas från PHP!

LarsGMedlem sedan dec. 200012 464 inlägg
#3

varför lagrar du 00:00:00 som sluttid? Betyder det att sluttiden inte är känd? I så fall borde du lagra null istället.

Varför använder du like för att jämföra numeriska data?

SELECT id 
FROM timeTabell 
WHERE (localtime >start_tid AND (localtime < slut_tid or slut_tid = '00:00:00')
 AND vecko_dag = weekday(current_date) + 1
FlowMedlem sedan dec. 200283 inlägg
#4

Använder 00:00:00 som sluttid när klockan är 24 alt 12 på natten.

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Såg lite parentesfel i mitt inlägg vilket jag nu har redigerat. Problem?

FlowMedlem sedan dec. 200283 inlägg
#6

Funkar! Tackar!

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)