Przeszukałem i wypróbowałem kilka sposobów porównywania daty, ale niestety nie otrzymałem wyniku zgodnie z oczekiwaniami. Mam aktualny stan rejestrów jak następuje:porównanie daty mysql z datownikiem
mysql> select date_format(date(starttime),'%d-%m-%Y') from data;
+-----------------------------------------+
| date_format(date(starttime),'%d-%m-%Y') |
+-----------------------------------------+
| 28-10-2012 |
| 02-11-2012 |
| 02-11-2012 |
| 02-11-2012 |
| 03-11-2012 |
| 03-11-2012 |
| 07-11-2012 |
| 07-11-2012 |
Chciałbym porównać datę i dlatego zrobić tak:
mysql> select date_format(date(starttime),'%d-%m-%Y') from data where date_format(date(starttime),'%d-%m-%y') >= '02-11-2012';
+-----------------------------------------+
| date_format(date(starttime),'%d-%m-%Y') |
+-----------------------------------------+
| 28-10-2012 |
| 02-11-2012 |
| 02-11-2012 |
| 02-11-2012 |
| 03-11-2012 |
| 03-11-2012 |
| 07-11-2012 |
| 07-11-2012 |
Wierzę, że wynik nie powinien zawierać '28 -10-2012' . Jakieś sugestie? Z góry dziękuję.
wielkie dzięki, właśnie tego szukam :). –
@MahmoudGamal: Twoja edycja nie ma sensu. Określenie literału daty przy użyciu składni 'date '2012-11-02'' ** jest ** poprawne (w rzeczywistości jest to standard SQL do określania literałów daty). Zobacz tutaj: http://sqlfiddle.com/#!2/d41d8/4020 –
@ JonSkeet: Możesz określić literał datetime, używając również literalnego standardu SQL: 'timestamp '2012-11-02 00:00:00' '(zamiast użycia" zwykłego "ciągu). –