Ho cercato su Google e provato diversi modi per confrontare la data, ma sfortunatamente non ho ottenuto il risultato come previsto. Ho stato attuale di record come segue:confronto data mysql con date_format
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 |
Vorrei confrontare la data e quindi fare in questo modo:
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 |
credo che il risultato non dovrebbe includere '28 -10-2012' . Qualche suggerimento? Grazie in anticipo.
molte grazie, questo è esattamente quello che sto cercando :). –
@MahmoudGamal: la tua modifica non ha senso. La specifica di un valore letterale della data utilizzando la sintassi 'date '2012-11-02'' ** è ** valida (in effetti è lo standard SQL per specificare i valori letterali delle date). Vedi qui: http://sqlfiddle.com/#!2/d41d8/4020 –
@JonSkeet: è possibile specificare un valore letterale di tipo datetime utilizzando anche il letterale standard SQL: 'timestamp '2012-11-02 00:00:00' '(invece di usare una stringa" semplice "). –