webForumDet fria alternativet
Logga in / Bli medlem

now

ASP

8 svar · 157 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Trådstart#1

Jag har en databas med ett fält som innehåller ett datum och klockslag. Jag vill nu plocka ut alla poster som har en tidpunkt från nu och 20 minuter tillbaka, hur skulle en sådan SQL fråga se ut?

Medlem sedan juli 20012 450 inlägg
#2

Databaser - SQL?

Medlem sedan dec. 200012 464 inlägg
#3

Vilken databashanterare?

lösning för sql server.

sql = "select * from t where datediff(minute,datecolumn,current_timestamp) between 0 and 20"
Medlem sedan jan. 20013 341 inlägg
#4

egen sida, använder mySQL då :( Roligare på jobbet med SQL server :e

Medlem sedan apr. 2000169 inlägg
#5

Testa denna kod, är inte 100 på att den fungerar men du kan ju testa i alla fall!

nowminustjugi = now() - 20

Set RS = conn.Execute("SELECT * FROM Tabell Where Datum > '& nowminustjugi &' Order by Id desc")
Medlem sedan dec. 200012 464 inlägg
#6
sql = "select * from t where date_add(date_column,interval 20 minute) >= current_timestamp"
Medlem sedan jan. 20013 341 inlägg
#7

Tack!
Både jacek's och LarsG's fungerade, men vilken är effektivast???

Medlem sedan dec. 200012 464 inlägg
#8

Egentligen är det fel i båda då de kommer att returnera poster som har ett datum som är senare än vad klockan är nu.
Om skillnaden ens är mätbar så borde Jacek's lösning vara den snabbare (dvs det är inte sådant man skall optimera)

sql = "select * from t where datecolumn between date_sub(current_timestamp,interval 20 minute) and current_timestamp"
Medlem sedan dec. 19995 874 inlägg
#9

where date between " & cDate(cDbl(now())-0.01389) & " AND & " now() & "

hihi :)

256 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)