webForumDet fria alternativet

Ta reda på och få ut information

Databaser & SQL

3 svar · 215 visningar · startad av d@le

Medlem sedan juni 2001329 inlägg
Frågan#1

Tjena, hade lite svårt för att få en rubrik på mitt problem. Saken är den att jag vill få fram en SQL grej som gör följande:

Jämför med hjälp av dagens datum om det finns någonting viktigt inom de närmsta exempelvis sju dagarna, om detta finns så ska den ta ut denna information och sedan också redovisa hur många dagar det är kvar tills dess.

Jag kan tänka mig att satsen i "stora drag" blir något liknande,

open * from databasen where datum är mindre än 7 dagar från dagens datum

som ni kanske märker så är jag inget vidare haj på just den här biten av programmeringen. Sedan för att få fram resultatet så ska det väl räcka att loopa ut resultatet och sen lägga in det i en datediff för att få fram antalet dagar som är kvar, eller?

Medlem sedan dec. 200012 464 inlägg
#2

Vilken databashanterare använder du? Hanteringen av datumaritmetik skiljer sig åt, tyvärr.

Medlem sedan juni 2001329 inlägg
#3

jag kommer att använda mig av access

Medlem sedan dec. 200012 464 inlägg
#4

Då finns funktionen datediff (som fungerar som i VB) som du kan använda

select *.datediff('d',now(),datecolumn from t
 where datediff('d',now(),dateColumn) between 0 and 7

Det går också att skriva med hjälp av dateadd

select *.datediff('d',now(),datecolumn from t
 where dateColumn) between now and dateadd('d',7,now())

Den senara kan nog vara effektivare om du har mycket data och om det finns ett index på datumkolumnen.

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)