Avatar billede mitbrugernavn Praktikant
29. april 2009 - 18:34 Der er 9 kommentarer og
1 løsning

tid between start og slut

jeg_kommer = "00:40:00" ' kommer fra et formularfelt



har i mysql db tid_start og tid_slut som text felter -

1 rk. med tid_start ="06:00:00" tid_slut ="18:00:00"
2 rk. med tid_start ="18:00:00" tid_slut ="06:00:00"

hvordan ser min sql forespørgsel ud - select from tabel where jeg_kommer er imellem tid_start og tid_slut

??
Avatar billede showsource Seniormester
29. april 2009 - 18:48 #1
Utestet
SELECT * FROM tabel WHERE '00:40:00' BETWEEN tid_start AND tid_slut
Avatar billede showsource Seniormester
29. april 2009 - 18:52 #2
Har lige testet, og det virker fint for mig.
Men between mener jeg includerer start og slut.
D.v.s. hvis en skriver 18:00 vil den optræde begge steder.
Avatar billede mitbrugernavn Praktikant
29. april 2009 - 22:19 #3
1 rk. med tid_start ="06:00:00" tid_slut ="18:00:00"
2 rk. med tid_start ="18:01:00" tid_slut ="05:59:00"

beklager -

select * from tabel where '01:00:00' BETWEEN tid_start AND tid_slut

giver ingenting og det skulle jo gerne give række 2.

har sat tid_slut og tid_start til time i tabellen


????
Avatar billede mitbrugernavn Praktikant
29. april 2009 - 22:20 #4
hvordan har du sat din tabel ??
Avatar billede mitbrugernavn Praktikant
29. april 2009 - 22:26 #5
egentlig burde denne streng kaste række 2 ud - men nej nej nej

select * from tabel WHERE '01:00:00' > tid_start AND tid_slut > '01:00:00'
Avatar billede showsource Seniormester
30. april 2009 - 06:09 #6
arghh, i anden række er tid_start større end tid_slut, så vil det ikke virke.
Men hvis du putter en dato på, kan det gøres.
Avatar billede mitbrugernavn Praktikant
30. april 2009 - 16:31 #7
har løst det på anden måde - men lidt underligt problem. læg et svar så dele vi point
Avatar billede showsource Seniormester
01. maj 2009 - 08:46 #8
Nej jeg kom jo ikke med en løsning til dig :O)

Hvad blev din løsning?
Avatar billede mitbrugernavn Praktikant
01. maj 2009 - 09:23 #9
ja - nu er jeg heldig i dette tilfælde at der kun er 2 rækker i tabellen og de vil altid have denne deling (håber jeg)

1 rk. med tid_start ="06:00:00" tid_slut ="17:59:00"
2 rk. med tid_start ="18:01:00" tid_slut ="05:59:00"

så når brugeren valgte tid (17:10)

if hour(bruger_tid) => 6 and hour(bruger_tid) < 18 then
web_id = rk 1
else
web_id = rk 2
end if

strSQL = "select * from tabel where id = '"&web_id&"'"

men det ville være rart at kunne gøre det total flexibelt - ;-)))
Avatar billede showsource Seniormester
01. maj 2009 - 21:26 #10
Tror ikke du har andre muligheder så længe tiden ikke er inden for samme dag,
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester