Avatar billede ulr Nybegynder
18. februar 2004 - 13:58 Der er 5 kommentarer og
2 løsninger

Trække datoer fra hinanden

Jeg trækker i øjeblikket data ud af en database, men står md et problem.

Jeg ønsker at trække data ud for en speciel periode...

Jeg vil kun have data for januar, og mit datofelt ser fx. således ud:
2003-12-27
2004-01-18
2004-02-15

Hvordan får jeg kun datoer fra 2004 ud?
Avatar billede trer Nybegynder
18. februar 2004 - 15:01 #1
select * from tabel
where dato between '31-12-2003' and '1-02-2004'
Avatar billede zedios Nybegynder
18. februar 2004 - 15:39 #2
Eller:
SELECT * FROM table
WHERE year(dato) = 2004 AND month(dato) = 1
Avatar billede trer Nybegynder
18. februar 2004 - 18:13 #3
Zedios> Hvad med indeksbrug ved din løsning?
Avatar billede zedios Nybegynder
19. februar 2004 - 10:01 #4
Trer> Du har desværre ret :o) - Brug af funktionerne tvinger SQL Server til en table scan eller clustered index scan hvis vi er så heldige at et sådan findes på kolonnen, men under alle omstændigheder giver min løsning flere læsninger ..
Avatar billede trer Nybegynder
19. februar 2004 - 10:10 #5
Zedios> Havde en mistanke om det. Ærgerligt at Query Rewriteren ikke kan håndtere det så funktionskaldene er lige så effektive. Din løsning er mere læsevenlig.
Avatar billede trer Nybegynder
08. marts 2004 - 10:39 #6
pointtid?
Avatar billede trer Nybegynder
11. marts 2004 - 10:01 #7
hvad sker?
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