28. december 2007 - 17:56Der er
6 kommentarer og 1 løsning
Hente datoer fra MS Sql db
Jeg har en tabel i en MS Sql db, hvor der bla. er et datofelt (smalldatetime) for nogle personers fødselsdage.
Jeg vil gerne trække en liste, der f.eks. viser hvem der har fødselsdag mellem den 1/1 og 31/1 (eller andre dato-intervaller), men jeg kan ikke få det til at virke efter hensigten.
Jeg skal jo umiddelbart ignorere årstallet, og jeg har forsøgt mig frem med CONVERT(DATETIME, YEAR(Birthday) + MONTH(Birthday) + DAY(Birthday), 102) (og en del forskellige kombinationer af den), for at få det ønskede resultat, men jeg kan se, at convert ikke omdanner datoen til det forventede resultat, uanset hvordan jeg gør det.
Er ikke helt med på hvad du forsøger at gøre via convert, men du burde kunne gøre det ved hjælp af datepart Fx select * from tabel where datepart("m",Birthday) = 1 and (datepart("d", Birthday) >= 1 and datepart("d", Birthday) <= 15)
Det virker til dels, men det kunne også være, at det var fra den 20/1 til 28/5 man skal hente en liste på (eller hvad som helt andet), så derfor skal jeg kunne sammensætte dag og måned i udvælgelsen.
Det kan godt være, men nu virkede nielles forslag, så jeg har ikke lige prøve din udgave af :-) Men den er selvfølgelige lidt kortere, så skal jeg bruge noget tilsvarende igen, vil jeg nok prøve den.
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.