04. marts 2003 - 16:00Der er
8 kommentarer og 1 løsning
Datoformat
Jeg har nogle datofelter i en database hvor nogle står med tid (f.eks. 01-02-2003 11:02:22) og nogle andre felter hvor de er uden tid (f.eks. 01-02-2003).
Jeg vil så gerne kunne søge på nogle forskellige måder hvor jeg kan finde datoer som er før eller efter eller samme dato, men mangler nogle tips til hvordan jeg kan søge efter datoer som også indeholder tid. I nogle situationer vil jeg også få brug for at kunne søge efter datoer der ser sådan ud : 1-2-2003 (altså hvor der ikke står 0 foran 1-cifrede dato og måned).
Databasefeltet kan f.eks. hedde "oprettet" og se sådan ud: 01-02-2003 11:02:22
Jeg skal kunne søge på bl.a. disse måder: 1) oprettet = 4-3-2003 2) oprettet < 4-3-2003 3) oprettet > 04-03-2003 4) oprettet <= 04-03-2003 11:10:10
Nogen der ved hvordan jeg kan gøre det lettest muligt?
Når du søger på = "4-3-2003" som dato vil den finde dem som er sådan her 4-3-2003 og sådan her 04-03-2003, det skulle ikke vøre nogen forskel om der er 0 eller ej.
SQL bruger US/UK format i dato, som er yyyy-mm-dd eller mm-dd-yyyy. Så en søgning efter 4-3-2003 kunne se sådan her ud:
datoStr = "2003-03-04" SQL = "SELECT * FROM x WHERE Dato = #" & datoStr & "#;"
Den vil dog ikke finde kolonen hvor der også er et tidspunkt 04-03-2003 11:10:10. Hvis den skal finde dem også så skal SQLen se sådan her ud:
datoStr = "2003-03-04" SQL = "SELECT * FROM x WHERE DateValue(Dato) = #" & datoStr & "#;"
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.