2017-08-04 4 views
1

Ich muss wissen, wie man innerhalb einer WHERE-Klausel eine IF-Bedingung verwenden, lassen Sie mir die Idee, in php:IF Bedingung innerhalb WHERE

SELECT * FROM table WHERE date >= '2017-08-04' 

IF(date = '2017-08-04'){ 
AND hour > '12:00' 
} 

so die Idee ist, dass, wenn das Datum dann heutigen entspricht Datum hinzufügen AND hour > '12:00'

+0

ja, können Sie, eine manuelle über SQL-Sprache finden und 'case' Aussage –

+0

ja ich über CASE las ich versucht, dies hatte aber kein Glück finden: \t WHEN date = ' CASE ‚2017 -08-04 'DANN (Stunde> '12: 00') \t ELSE 0 END' – Ered

+1

Ich nehme an, es sollte so etwas sein ... wählen ... aus ... wobei 1 = (FALL WENN Datum = '2017 -08-04 'THEN wenn Stunde> '12: 00' dann 1 else 0 Ende wenn Datum> '2017-08-04' dann 1 ELSE 0 ENDE) ' –

Antwort

5

Verwenden Sie einfach grundlegende boolesche Logik. Die genaue Übersetzung (ohne Berücksichtigung NULL Werte) wie folgt aussieht:

WHERE date >= '2017-08-04' AND 
     (date <> '2017-08-04' OR hour > '12:00') 

Eine sinnvolle Alternative:

WHERE date > '2017-08-04' OR 
     (date = '2017-08-04' AND hour > '12:00') 
+0

tx, das hat den Job gemacht, wird Antwort in wenigen Minuten annehmen – Ered

0

select * from Tabelle WHERE Datum> = '2017.08.04' UND Stunde> ' 00.00'