07. juni 2006 - 12:04
Der er
6 kommentarer og 1 løsning
sql og dato problem
jeg har en sql sætning med datoer, men den returnerer ikke noget selom der er masser af data der passer til kriterierne. den ser sådan ud: select * from Items where active ='Yes' and oprettet >= #08-05-2006# Jeg har prøvet at fjerne havelågerne, men så ser returnerer den alt. dataene i databasen ligger som timestamp. (oprettet 03-06-2006 06:02:12) Hvordan får jeg hentet det der er opdateret inden for de sidste 30 dage?
Annonceindlæg fra Lenovo
Hvilken database? Access: select * from Items where active ='Yes' and oprettet >= dateadd('d',-30,now) SQL Server: select * from Items where active ='Yes' and oprettet >= dateadd( day, -30, getdate() )
Du kan givetvis også benytte m (Access) og month (SQL Server) i stedet for d og day... så skal du nødvendigvis kun trække en fra. At benytte month ville være mere præcist, da den vil tage højde for 28,29,30 og 31 dage i de forskellige måneder...
Jeg bruger access. Jeg har prøvet at sætte den ind, men så får jeg en fejl: select * from Items where active ='Yes' and oprettet >= 08-05-2006 12:17:24 Microsoft JET Database Engine fejl '80040e14' Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "active ='Yes' and oprettet >= 08-05-2006 12:17:24". Selve koden ser sådan ud nu: Sql = "select * from Items where active ='Yes' and oprettet >= " & dateadd("d",-30,now)
Den skal se sådan ud (da det er Access' egen dataadd og now-funktioner du skal benytte): Sql = "select * from Items where active ='Yes' and oprettet >= dateadd('d',-30,now)"
Det virker squ!! Tusind tak. Læg et svar
Kurser inden for grundlæggende programmering