在WHERE内的IF条件

Ere*_*red 1 mysql sql

我需要知道如何在WHERE子句中使用IF条件,我在php中留下了这个想法:

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

IF(date = '2017-08-04' ){
AND hour > '12:00'
}
Run Code Online (Sandbox Code Playgroud)

所以想法是如果date等于今天的日期然后添加 AND hour > '12:00'

Gor*_*off 5

只需使用基本的布尔逻辑.确切的翻译(忽略NULL值)如下所示:

WHERE date >= '2017-08-04' AND
      (date <> '2017-08-04' OR hour > '12:00')
Run Code Online (Sandbox Code Playgroud)

一个更明智的选择:

WHERE date > '2017-08-04' OR
      (date = '2017-08-04' AND hour > '12:00')
Run Code Online (Sandbox Code Playgroud)