30. juni 2008 - 12:54Der er
9 kommentarer og 1 løsning
Datetime og /
Hej Eksperter!
Jeg skal have fundet alle poster i en table, som er oprettet på en specifik dato.
Til at bruge dette har jeg tænkt mig at gøre noget a lá følgende:
SELECT * FROM tabel WHERE dato LIKE '%6/26/2008%'
Problemet med denne query er at den åbenbart ikke vil acceptere mine / (slashes). Det kager den ud over og giver mig ingen resultater. Har dette noget at gøre med at feltet dato er datetime-format? Kan jeg på nogen måde få lavet en query, hvor den specifikt i feltet dato leder efter den specifikker værdi "6/26/2008"?
Men jeg kan jo direkte læse via en query at formatet i feltet er "6/26/2008"...
Så kan jeg vel ikke få nogen resultater ud ved at bruge dine eksempler, da det datoformat simpelthen ikke eksisterer i databasen? Formatet er 0/0/0000... og det har jeg desværre ikke noget indflydelse på, da det kører via noget CMS.
Men hvordan laver jeg bare en enkelt søgning i det felt på "6/26/2008"? Det er slash (/), som den åbenbart ikke rigtig kan li´.
Nej, du kan ikke læse at formatet i databasen er MM/DD/YYYY - for det hverken bruger eller forstår MySQL på egen hånd *-)
Hvis du ser det format er der to muligheder: 1) Du har bedt om at få det ud i det format 2) Det du bruger til at se datoen med formaterer på den måde (du siger selv det er noget CMS, så det er nok tilfældet her)
Formatet i en DATETIME på MySQL er og bliver YYYY-MM-DD HH:MM:SS - og jeg har givet dig SQL'en til at søge på en given dato.
Jeg bruger SQLAdmin til at se formatet med... derudfra læser jeg at det er et datetime-felt og at værdien fremstår med det format, jeg skrev :)
Om der så foregår alt mulig andet hokuspokus bagved må guderne vide. Faktum er at jeg gerne vil ind og checke på værdien i det pågældende felt, men slashes ødelægger det lidt for mig, grundet guderne ved hvad.
Får iøvrigt ingen resultater via dine forslag. Nogen andre gode bud eller er jeg tabt? :)
"Om der så foregår alt mulig andet hokuspokus bagved må guderne vide."
Hvis du ser det format, så ja, der foregår noget bagved.
"men slashes ødelægger det lidt for mig, grundet guderne ved hvad."
Som sagt, så er det fordi MySQL ikke fatter det format. Det er ikke raketvidenskab, det her - MySQL fatter kun et format når der er tale om datoer, og alle andre formater kommer enten ved at man eksplicit beder om at få det konverteret (med DATE_FORMAT og STR_TO_DATE), eller ved at det formateres af det der nu engang vil vise dataene *-)
Jeg kan af gode grunde kun forholde mig til de oplysninger du har givet mig, så hvis du ikke får nogle resultater, tyder det på at du ikke har noget med den dato.
Du kunne jo lige overveje at lave en SELECT dato FROM tabel, og så bruge en af de datoer du får retur - i formatet YYYY-MM-DD.
Sorry jeg ikke så dit sidste indlæg - engang i mellem modtager jeg ikke alle mails fra Eksperten >_>;
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.