Hallo,
Hi!
ich will sein SELECT bauen, dass mir Datensätze mit dem heutigen Datum zurückgibt.
Die Datensätze können alle möglichen Datum haben, in der Vergangenheit sowie auch in der Zukunft.
Gibt es also nun keine Datensätze für das heutige Datum, dann soll mir das SELECT Datensätze zurückgeben, die nahe an dem heutigen Datum liegen, aber nur wie funktioniert dies?
Ist eigentlich ganz einfach, sofern ich Dich richtig verstanden habe. Natürlich müsstest Du schon festlegen, wie groß die Differenz zum heutigen Datum werden darf. Für einen Tag Differenz sähe das z.B. so aus:
SELECT *
FROM Tabelle
WHERE DATEDIFF(day, Tabelle.Datum, GETDATE()) <= 1
OR DATEDIFF(day, GETDATE(), Tabelle.Datum) <= 1
Oder anders mit der DATEADD-Funktion und BETWEEN:
SELECT *
FROM Tabelle
WHERE Tabelle.Datum BETWEEN DATEADD(day, -1, GETDATE()) AND DATEADD(day, 1, GETDATE())
Erläuterungen zu DATEDIFF, DATEADD und BETWEEN möcht ich Dich bitten der SQL-Referenz zu entnehmen :).
Gruß, Jan