12. august 2010 - 13:04
Der er
10 kommentarer og 1 løsning
DateADD i SQL sætning
Hej eksperter, Jeg har følgende sql sætning i ASP. SELECT * FROM vTempSubscriptions WHERE datetime > ? Nu vil jeg gerne lægge 1 år til datetime når jeg sammenligner. How? På forhånd tak.
Annonceindlæg fra QNAP
12. august 2010 - 13:21
#1
Du kan prøve med (DATE_ADD( NOW( ) , INTERVAL 1 YEAR) Giver aktuel dato + 1 år
12. august 2010 - 13:28
#2
For at vende tilbage til min sql sætning har jeg prøvet: SELECT * FROM vTempSubscriptions WHERE (DATE_ADD(datetime, INTERVAL 1 YEAR)) > ? .. Som giver fejl.
12. august 2010 - 13:28
#3
SELECT DATEADD(YEAR, 1, GETDATE()) mvh
12. august 2010 - 13:30
#4
SELECT * FROM vTempSubscriptions WHERE DATEADD(YEAR, 1, datetime) > ?
12. august 2010 - 13:33
#5
Du kan jo reelt set også trække et år fra den dato du vil sammenligne med i dit program, det burde jo give samme resultat :-) mvh
12. august 2010 - 14:16
#6
buzzz > Det var præcis hvad jeg endte med :) Jeg takker mange gange. Send svar og du får points.
12. august 2010 - 15:04
#7
kommer her.
12. august 2010 - 18:43
#8
buzz-> "Du kan jo reelt set også trække et år fra den dato du vil sammenligne med i dit program, det burde jo give samme resultat :-) " ja til resultatet, nej til idéen... der er kæmpe forskel i performance.
12. august 2010 - 19:09
#9
Tror du har misforstået hvad jeg mente så. Sidste ide med at trække datoen fra i programmet, ville jeg mene ville give bedre performance. Kunne ikke se hvorfor første ide, skulle give bedre performance.
12. august 2010 - 22:06
#10
Den dårligste performance er .. where dateadd(year, ....) > .... Der vil være samme performance imellem at regne sig frem til datoen i app eller where datefield < dateadd(year, 1, getdate())
12. august 2010 - 23:23
#11
Det er jo netop også det jeg skrev. mvh
Computerworld tilbyder specialiserede kurser i database-management