[MS SQL Abfrage] Mit datediff() und between Zeitfenster abfragen

nauti_lus

Grünschnabel
Hallo zusammen,

hoffe das mir hier jemand helfen kann. komme nicht mehr weiter bei meinem Problem.
Ich möchte eine art "Zeitfendter" mit einer SQl-Abfrage bekommen. Habe mal ein "vorab-sql-string" gebastelt aber er geht nicht vielleicht weiss da jemand eine lösung

Code:
SELECT RAC_Index
FROM RAC_Race
WHERE time_window between
(datediff(mi,getdate(),RAC_PostTime) = -1) as time_window
and
(datediff(mi,getdate(),RAC_PostTime) = +1) as time_win
wobei RAC_PostTime vom Typ datetime ist.

danke im vorraus

nautilus
 
Haben die beiden Uhrzeiten das gleiche Format?

eine Möglichkeit um das Problem zu umgehen ist wobei 104 das Datumsformat angibt
Code:
CONVERT(datetime, '06.04.2005', 104)
Und zum AS -> ich glaube diese Fkt. kann man in der WHERE- Klausel nicht verwenden

mfg
 
ja, beide haben das gleiche format
'2005-04-06 12:23:00.000'

möchte ein zeitfenster von 4 minuten also +/- 2 deswegen das datediff()
mit convert() komme ich nicht auf die minuten... oder?
 
Ich verstehe noch nicht ganz, worauf sich das Zeitfenster beziehen soll, bzw was in diesem Zeitfenster liegen soll?
Nichtsdestotrotz, syntaktisch richtig wäre folgende Variation deines Statements:
SELECT RAC_Index
FROM RAC_Race
WHERE DATEDIFF (mi, GETDATE(), RAC_PostTime) BETWEEN -2 AND 2

Ergebnis: Alle Datensätze aus RAC_Race, deren RAC_PostTime im Zeitfenster Jetzt +/- 2 Minuten liegt.
 
andi_g69 hat gesagt.:
Ich verstehe noch nicht ganz, worauf sich das Zeitfenster beziehen soll, bzw was in diesem Zeitfenster liegen soll?

danke, genau das sollte es sein, was ich suche...

--> mein script soll mir 2 minuten vor und 2 minuten nach einem startzeitpunkt für ein rennen dieses renne bzw den index dazu ausgeben..
 

Neue Beiträge

Zurück