Avatar billede blueeye97 Nybegynder
28. januar 2006 - 16:47 Der er 16 kommentarer og
1 løsning

Udtræk dag og måned fra en dato

Jeg skal lave et udtræk fra databasen hvor jeg vil finde alle records hvor dag og måned er lig med dags dato.

F.eks.

28-01-1988
28-01-1789
28-01-2006

Altså kun de første 5 karakterer i datoen. Årstallet er irellevant.
Avatar billede jaw Nybegynder
28. januar 2006 - 16:51 #1
Sådan måske:
SELECT * FROM tabel WHERE DATE_FORMAT(datofeltnavn, '%d-%m') = DATE_FORMAT(CURDATE(), '%d-%m')

Hvis dit datofeltnavn vel at mærke er af typen DATETIME?!
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 16:52 #2
Det er et tinytext
Avatar billede jaw Nybegynder
28. januar 2006 - 16:53 #3
Og hvad står der så i det?
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 16:55 #4
Der står en masse datoer. Men alle i formatet dd-mm-åååå
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 16:56 #5
Og jeg skal så bruge alle de datoer hvor dd-mm = dags dato
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 17:09 #6
Jeg tænkte om jeg evt. kunne bruge Substr i en SQL sætning ?
Avatar billede jaw Nybegynder
28. januar 2006 - 17:10 #7
Du kunne ændre typen til DATE bare, og så prøve mit udtræk synes jeg...
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 17:12 #8
Det prøvede jeg lige. Det smadrede alle datofelterne da der kom klokkeslet med på...
Avatar billede jaw Nybegynder
28. januar 2006 - 17:15 #9
Der kommer ikke klokkeslet med hvis du tager DATE.
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 17:20 #10
korrekt... Jeg fik valgt datetime...

Til gengæld skal jeg lige ha lavet datofeltet om. For det er jo engelsk datoformat så der går kuk i mine variabler...
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 17:28 #11
Den går da ikke. Du kigger jo på variablen som om det var dansk (dd-mm) men nu er der jo byttet om så formatet er (åååå-mm-dd) ??
Avatar billede jaw Nybegynder
28. januar 2006 - 17:34 #12
Det er derfor jeg smide DATE_FORMAT omrking, som gør datoen "dansk".
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 17:43 #13
Det hjalp :o))

Hvordan får jeg så vendt datoen om på udtrækket når jeg efterfølgende viser den. Nu er den jo vendt om ?
Avatar billede jaw Nybegynder
28. januar 2006 - 17:45 #14
Det gør du sådan set på samme måde.

SELECT felt1, felt2, DATE_FORMAT(datofeltnavn, '%d-%m-%Y') as tid WHERE ...

Og så udskriver du bare $row['tid'] i stedet for $row['datofeltnavn'].
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 17:50 #15
Fjong...

Svar lige :o)
Avatar billede jaw Nybegynder
28. januar 2006 - 17:50 #16
Et svar :)
Avatar billede blueeye97 Nybegynder
28. januar 2006 - 17:54 #17
: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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel