Avatar billede andersjo Nybegynder
13. juni 2005 - 15:15 Der er 6 kommentarer og
1 løsning

Velge dato fra DB

Hei.

Jeg skal hente ut alle saket fra en tabell hvor saken har en gitt startdato.

Jeg bruker følgende SQL-kall:
SELECT * FROM V_Vakt WHERE Startdato='06/23/2005'

Feltet Startdato er av typen DateTime.

I databasen finnes to saker med 06/23/2005 som startdato, men jeg får ingen treff.

Endrer jeg SQL-kallet til dette:
SELECT * FROM V_Vakt WHERE Startdato>='06/23/2005' AND startdato<'06/24/2005'
får jeg treff på de to sakene som finnes.

Det er tungvindt å beregne hva som er den neste dagen, siden det kan være i en ny måned eller i et nytt år. Derfor håper jeg det finnes en enklere måte å finne de to sakene på (i likheten av det første SQL-eksempelet jeg skrev over).

Noen som vet hvordan?

//andersjo
Avatar billede busschou Praktikant
13. juni 2005 - 15:17 #1
Hvis det er access skal du have # omkring istedet for '
Prøv det
Du kan også benytte BETWEEN
SELECT * FROM V_Vakt WHERE Startdato BETWEEN #06/23/2005# AND #06/24/2005#
Avatar billede busschou Praktikant
13. juni 2005 - 15:19 #2
men det hjælper selvfølgelig ikke på at du skal beregne den næste dag
prøv evt
SELECT * FROM V_Vakt WHERE Startdato=#06/23/2005#
Men det er jo så kun hvis det er access
Avatar billede busschou Praktikant
13. juni 2005 - 15:22 #3
Du siger det er DateTime
Men er det LongDate eller hvordan? Hvis du har timer og minutter med så er det jo klart
for "06/23/2005" er ikke lig med "06/23/2005 17:34:23"
Så hvis det er tilfældet bør du måske benytte LIKE
SELECT * FROM V_Vakt WHERE Startdato LIKE '%06/23/2005%'
Avatar billede andersjo Nybegynder
13. juni 2005 - 15:39 #4
Jeg bruker MSSQL.
Feltet inneholder både dato og tid ja (06/23/2005 08:00:00).

Prøvde med SELECT * FROM V_Vakt WHERE Startdato LIKE '%06/23/2005%', men det gav heller ingen treff...
Avatar billede busschou Praktikant
13. juni 2005 - 15:55 #5
Jeg vil mene at det mest naturlige vil være at bruge LIKE
Men jeg kender ikke så meget til MSSql så jeg er ikke 100%
En anden mulighed kunne være at man lavede feltet om så det kun indeholdt datoen
Hvis du kun skal bruge datoen så kunne du jo overveje det
Selvfølgelig hvis du skal bruge tiden andre steder, så er det jo ikke en holdbar løsning
Avatar billede andersjo Nybegynder
13. juni 2005 - 15:59 #6
Er enig i at LIKE virker fornuftig.
Jeg trenger tiden også, så jeg må beholde den.
Avatar billede busschou Praktikant
13. juni 2005 - 19:31 #7
ok ved ikke om du ønsker et svar fra mig.. men her er et :o)
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