Hallo,
ich wollte mir es einfach machen:
Now => jetzt
starttime => anfang
endtime => ende
Nun möchte ich einen Boolwert haben, oder irgendwie folgene Bedingung testen:
- (starttime < NOW() AND endtime > NOW())
- (starttime < NOW() AND endtime = '0000-00-00 00:00:00')
- (starttime = '0000-00-00 00:00:00' AND endtime > NOW())
In PHP funktioniert es gut, aber als Statement habe ich Probleme:
PHP:1
2
|
SELECT * FROM #__controler WHERE `id` = 1 AND (starttime < NOW() AND endtime > NOW()) OR (starttime < NOW() AND endtime = NULL) OR (starttime = NULL AND endtime > NOW()) |
PHP:1
| SELECT * FROM #__controler WHERE `id` = 1 AND ( NOW() BETWEEN starttime AND endtime ) OR (starttime < NOW() AND endtime = NULL) || (starttime = '0000-00-00 00:00:00' && endtime > NOW()) |
PHP:1
| SELECT * FROM #__controler WHERE `id` = 1 AND (starttime < NOW() AND endtime > NOW()) OR (starttime < NOW() AND endtime = '0000-00-00 00:00:00') OR (starttime = '0000-00-00 00:00:00' AND endtime > NOW()) |
Funktioniert alles drei nicht. Format ist jjjj-mm-tt hh:mm:ss
Somit halte ich einen einfachen Vergleich für ausreichend.