Avatar billede connorz Nybegynder
18. maj 2003 - 16:26 Der er 15 kommentarer og
1 løsning

udtrækning fra datetime-felt?

Jeg har et felt af typen datetime. Hvordan kan jeg udtrække fx alle poster med en dato fra maj (dvs. poster med datetime-feltet af typen ????-05-?? ??:??:??)???

Hvis nogen kender en god side med sådanne oplysninger om sql, har dette også interesse ;)
Avatar billede dragen Nybegynder
18. maj 2003 - 16:29 #1
where feltetsnavn like '????-05-?? ??:??:??'
Avatar billede connorz Nybegynder
18. maj 2003 - 16:30 #2
med spørgsmålstegn?
Avatar billede schaefner Juniormester
18. maj 2003 - 16:31 #3
Prøv:
SELECT * FROM tabel WHERE SUBSTRING(dato,5,2) = '05'
Avatar billede connorz Nybegynder
18. maj 2003 - 16:31 #4
og hvordan kan jeg få det sorteret efter tidspunktet?
Avatar billede connorz Nybegynder
18. maj 2003 - 16:32 #5
schaefner>>>hvad betyder de enkelte ting?
Avatar billede schaefner Juniormester
18. maj 2003 - 16:32 #6
SELECT * FROM tabel WHERE SUBSTRING(dato,6,2) = '05' ORDER BY dato
Avatar billede schaefner Juniormester
18. maj 2003 - 16:35 #7
SUBSTRING tager fra position 6 og 5 tegn frem.
Avatar billede dragen Nybegynder
18. maj 2003 - 16:35 #8
Jaja, med spørgsmålstegn.

?=enkelt ukendt felt
%=et hvilket som helst antal ukendte felter

(efter hovedet så er ikke 100%)
Avatar billede dragen Nybegynder
18. maj 2003 - 16:38 #9
Schaefners er bedre, den vælger maj med det samme.
Avatar billede _darkstar_ Nybegynder
18. maj 2003 - 16:38 #10
Hvis dragens forslag virker er det lidt risky - hvad hvis du ændrer datoformatet?

Brug hellere

SELECT * FROM tabellen WHERE MONTH(datofeltet) = 5

Der vil resultatet ikke variere alt afhængigt af datoformatet.

Se iøvrigt http://www.mysql.com/doc/en/Date_and_time_functions.html
Avatar billede dragen Nybegynder
18. maj 2003 - 16:40 #11
Men du kan jo prøve begge to og se hvilken der er hurtigst =)
Avatar billede _darkstar_ Nybegynder
18. maj 2003 - 16:41 #12
På mysql.com skriver de godt nok at man kan behandle datoerne som strenge, men det er altså noget værre snask og kan hurtigt give nogle sære problemer. Specielt hvis man prøver samme trick på databaser hvor den enkelte bruger kan have sit eget datoformat.
Avatar billede dragen Nybegynder
18. maj 2003 - 16:43 #13
>_darkstar_
Det gælder jo også schaefners...

Ang. MONTH(felt)=noget
Det anede jeg ikke, fedt! - så lærer man noget hver dag, hehe.
Avatar billede _darkstar_ Nybegynder
18. maj 2003 - 16:44 #14
dragen>> Enig. Det gælder også schaefners eksempel.
Avatar billede _darkstar_ Nybegynder
18. maj 2003 - 16:47 #15
Hvad jeg ikke fatter er at mysql lærer folk at behandle datoer som strenge. Det er komplet tåbeligt når dnetop funktionerne MONTH, YEAR, DAYOFWEEK, WEEK og så videre er med i standard SQL. At behandle datoerne som strenge gør det kun mere vanskeligt og øger risikoen for fejl.
Avatar billede connorz Nybegynder
18. maj 2003 - 16:49 #16
ja det virker mega-smart!
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
Computerworld tilbyder specialiserede kurser i database-management

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