sql 如果日期等于今天,则添加 AND


sql if date equals today than add AND

SELECT e.event_name, e.event_start_date, e.event_start_time, e.post_content
        FROM {$wpdb->prefix}em_events e
        WHERE e.event_status = '1'
        AND e.event_start_date >= '{$date_sever}'
        AND e.event_start_time >= '{$time_sever}'
        ORDER BY e.event_start_date ASC

我想AND e.event_start_time >= '{$time_sever}'运行此行

,如果AND e.event_start_date = '{$date_sever}'

知道怎么做吗?

试试看

SELECT e.event_name, e.event_start_date, e.event_start_time, e.post_content
    FROM {$wpdb->prefix}em_events e
    WHERE e.event_status = '1'
    AND e.event_start_date >= '{$date_sever}' 
    AND (e.event_start_time >= '{$time_sever}' 
        OR e.event_start_date > '{$date_sever}') 
    ORDER BY e.event_start_date ASC
您可以使用

OR 操作测试这两个条件。

    SELECT e.event_name, e.event_start_date, e.event_start_time, e.post_content
        FROM {$wpdb->prefix}em_events e
    WHERE 
        e.event_status = '1' 
      AND
        e.event_start_date > '{$date_sever}'
      OR 
        (e.event_start_date = '{$date_sever}' AND e.event_start_time >= '{$time_sever}')
    ORDER BY e.event_start_date ASC

它将测试第一个表达式是否比{$date_sever} 大。如果不是 GREATHER,则将调用 OR 来测试表达式是否等于 {$date_sever} 并且将计算第二个表达式。