riuppo la discussione in quanto ho aggiornato la versione di mysql alla 4.1
ho "dovuto" aggiornare in soldoni perche' alcune funzioni come datediff per esempio non erano implementate nella versione che stavo usando .
ecco un paio di esempi chiarificatori .
codice:
mysql> select version();
+---------------------------+
| version() |
+---------------------------+
| 4.1.11-Debian_4sarge3-log |
+---------------------------+
1 row in set (0.00 sec)
mysql> select DATE("2005-02-31");
+--------------------+
| DATE("2005-02-31") |
+--------------------+
| 2005-02-31 |
+--------------------+
1 row in set (0.00 sec)
mysql> select DATE("2005-02-27");
+--------------------+
| DATE("2005-02-27") |
+--------------------+
| 2005-02-27 |
+--------------------+
1 row in set (0.01 sec)
mysql> select DATE_ADD("2005-02-27",INTERVAL 1 DAY);
+---------------------------------------+
| DATE_ADD("2005-02-27",INTERVAL 1 DAY) |
+---------------------------------------+
| 2005-02-28 |
+---------------------------------------+
1 row in set (0.00 sec)
mysql> select DATE_ADD("2005-02-27",INTERVAL 2 DAY);
+---------------------------------------+
| DATE_ADD("2005-02-27",INTERVAL 2 DAY) |
+---------------------------------------+
| 2005-03-01 |
+---------------------------------------+
1 row in set (0.00 sec)
per quanto riguarda il controllo delle date (nel mio caso specifico ho bisogno di inserire delle date ed in seguito calcolare delle scadenze), prima di inserire una data nel db devo verificarla via php.
in seguito uso INTERVAL XXX DAY per calcolare la scadenza, con somma soddisfazione ho visto che usando DATE_ADD("YYYY-MM_DD",INTERVAL XXX DAY) non genera le date obrobriose come il 31 febbraio