Ich versuche, eine WHERE-Klausel zu schreiben, um 3 Tage zurückzuschauen, wenn der Wochentag Montag ist, indem Sie der Kalendertabelle beitreten.CASE-Anweisung mit Daten in WHERE-Klausel
WHERE
CASE WHEN calendar.DW = 2 Then (date_created BETWEEN DATEADD(hour,8,DATEDIFF(d,0,GETDATE()-3))
AND GETDATE() ELSE
date_created BETWEEN DATEADD(hour,8,DATEDIFF(d,0,GETDATE()-1))
AND GETDATE()
END
Ich bekomme einen Fehler auf dem "BETWEEN" -Operator für die oben genannten. Ist es möglich zu tun, was ich versuche, oder mache ich das falsch?
Danke für die Hilfe.
Sie bitte Ihre Frage bearbeiten und hinzufügen Tag für die bestimmte Datenbank, mit der Sie arbeiten. 'sql' könnte eine beliebige Anzahl von Dingen sein ... MySQL, MS-SQL, Oracle .. –
definitiv NICHT mysql. datediff dort nimmt nur 2 args, und 'getdate()' existiert auch nicht. –
@MarcB - die Frage sollte immer noch ein passendes Tag haben, so dass wir nicht raten müssen. –