webForumDet fria alternativet

Ta reda på och få ut information

Databaser & SQLur Databashanterare & SQL

3 svar · 213 visningar · startad av d@le

d@leMedlem sedan juni 2001329 inlägg
#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?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

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

d@leMedlem sedan juni 2001329 inlägg
#3

jag kommer att använda mig av access

LarsGMedlem 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.

130 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)