2017-07-12 4 views
0

Ich versuche, eine Tabelle aufzulisten, und wenn ein Zeitplan Datum innerhalb von 2 Tagen ist, um als Warnung aufzulisten und wenn das Datum heute vorbei ist, dann listet es als spät auf.Fall mit Daten zwischen jetzt und 2 Tagen?

Ich habe Probleme, den "Zwischen" Teil dieses Codes richtig zu funktionieren. Der between-Code scheint außerhalb der case-Anweisung zu funktionieren, aber nicht innerhalb von case. Jede Hilfe wird sehr geschätzt.

Danke,

SELECT schedule, 
case when schedule BETWEEN(curdate(), curdate() + 2)then 1 else 0 end as 
warning, 
case when schedule < CURDATE() then 1 else 0 end as late 
from upgrade_table 

error: Error code 1064, SQL state 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'then 1 else 0 end as warning, case when sched < CURDATE() then 1 else 0 end as l' at line 2

+1

Ist es Fehler? Hat es die falsche Antwort? – RiggsFolly

+1

Zwischen Syntax ist 'BETWEEN Wert UND Wert' – RiggsFolly

+0

Nicht nur posten" Ich habe Probleme ". Zitieren Sie den Fehler. –

Antwort

1

Die korrekte Syntax für die BETWEEN ist:

BETWEEN [FirstValue] AND [SecondValue] 

Ex:

WHERE [DATE] BETWEEN Date1 AND Date2+DAY(2) 
Verwandte Themen