26. august 2007 - 16:41Der er
14 kommentarer og 1 løsning
MySQL udtræk fra dato x til dato y
Hejsa Eksperter, Jeg har et spørgsmål vedr. MySQL og udtræk med datoer.
Det skal forståes på den måde at jeg har et given dato range. F.eks:
Felt 1: 10-08-2007 Felt 2: 20-08-2007
Jeg vil derfor gerne have SELECT'et alle som ligger mellem denne dato-range - altså fra og med 10-08-2007 til og med 20-08-2007. Jeg er ikke helt sikker på hvordan man skal gøre dette, for det er jo ikke helt det samme som et simpelt heltal.
SELECT * FROM minTabel WHERE alder BETWEEN 20 AND 30
Sådan kunne man jo gøre det med heltal.. Men hvordan omskriver jeg ovenstående SQL sætning til at gøre det med en streng?
I øjeblikket er det VARCHAR, men det er jeg villig til at ændre til DATETIME hvis det kan løse problemet enkelt.
Kunne jeg evt. lokke dig til at lave et SQL eksempel hvor vi antager at jeg har en DATETIME og et datoformat der skal være dd-mm-yyyy? Jeg har nemlig ikke stiftet megen bekendtskab med DATETIME.
DATE bruger YYYY-MM-DD - håber det stadig er noget du kan bruge.. Erik har allerede give t en guide til at lave din varchar om - så her er et par eksempler på hvor nemt det er med DATE
mysql> SELECT * FROM datotest; +------------+ | dato | +------------+ | 1764-12-24 | | 2007-08-10 | | 2007-08-15 | | 2007-08-20 | +------------+ 4 rows in set (0.00 sec)
mysql> SELECT * FROM datotest WHERE dato BETWEEN '2007-08-10' AND '2007-09-01'; +------------+ | dato | +------------+ | 2007-08-10 | | 2007-08-15 | | 2007-08-20 | +------------+ 3 rows in set (0.00 sec)
mysql> SELECT * FROM datotest WHERE dato BETWEEN '2007-08-11' AND '2007-08-20'; +------------+ | dato | +------------+ | 2007-08-15 | | 2007-08-20 | +------------+ 2 rows in set (0.00 sec)
Jeg tror det er DATE vi skal gå efter. Desværre skal det være være DD-MM-YYYY og ikke YYYY-MM-DD. Det er uheldigt - udover denne vil DATE være perfekt. VARCHAR er alt for bøvlet til at jeg vil bruge tid på den overhovedet. Er der nogen måde man relativt simpelt kan "snyde" sig udenom dette amerikaniserede datoformat og have dansk format?
Tak for hjælpen og forslagene, alle sammen. Det virker smukt til formålet. liit42, vil du smide et svar? Dine eksempler var med til lige at skære det ud i pap for mig.
Jeg lukker denne. liit42, såfremt der fortsat ønskes point, så hiv da fat i mig.
Synes godt om
Ny brugerNybegynder
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.