Les entrées récentes selon un intervalle d'un mois

/**
 * Sélection des entrée de ma table qui ont une date récente (moins d'un mois en rapport à la date heure courante)
 */
SELECT * FROM maTable WHERE CURRENT_TIMESTAMP - INTERVAL 1 MONTH > maColonneDateTimeOuTimeStamp

Soustraire 2 dates times en secondes

/**
 * La date heure en cours
 */ 
mysql>SELECT CURRENT_TIMESTAMP;
+---------------------+
| CURRENT_TIMESTAMP   |
+---------------------+
| 2011-10-26 12:12:16 |
+---------------------+
1 row in set (0.00 sec)
 
/**
 * Mauvaise soustraction de date
 */
mysql>SELECT '2011-10-26 08:01:20' - '2011-10-26 08:00:00' AS maDate;
+--------+
| maDate |
+--------+
|      0 |
+--------+
1 row in set, 2 warnings (0.00 sec)
 
mysql>SELECT CURRENT_TIMESTAMP - '2011-10-26 08:00:00' AS maDate;
+----------------+
| maDate         |
+----------------+
| 20111026119112 |
+----------------+
1 row in set, 1 warning (0.00 sec)
 
mysql>SELECT CURRENT_TIMESTAMP - CAST('2011-10-26 08:00:00' AS DATETIME) AS maDate;
+--------------+
| maDate       |
+--------------+
| 41134.000000 |
+--------------+
1 row in set (0.01 sec)
 
/**
 * Soustraction correcte de date, mais qui retourne une période et non pas des secondes
 */
mysql>SELECT CAST('2011-10-26 08:01:20' AS DATETIME) - CAST('2011-10-26 08:00:00' AS DATETIME) AS maDate;
+------------+
| maDate     |
+------------+
| 120.000000 |
+------------+
1 row in set (0.00 sec)
 
mysql>SELECT CAST('2011-10-27 08:01:20' AS DATETIME) - CAST('2011-10-26 08:00:00' AS DATETIME) AS maDate;
+----------------+
| maDate         |
+----------------+
| 1000120.000000 |
+----------------+
1 row in set (0.00 sec)
 
 
mysql>SELECT TIME_TO_SEC(CAST('2011-10-26 08:01:20' AS DATETIME) - CAST('2011-10-26 08:00:00' AS DATETIME)) AS maDate;
+--------+
| maDate |
+--------+
|     80 |
+--------+
1 row in set (0.00 sec)
 
mysql>SELECT TIME_TO_SEC(CAST('2011-10-27 08:01:20' AS DATETIME) - CAST('2011-10-26 08:00:00' AS DATETIME)) AS maDate;
+--------+
| maDate |
+--------+
| 360080 |
+--------+
1 row in set (0.00 sec)
 
 
/**
 * Soustraction correcte de date en secondes unix
 */
mysql>SELECT UNIX_TIMESTAMP('2011-10-26 08:01:20') - UNIX_TIMESTAMP('2011-10-26 08:00:00') AS maDate;
+--------+
| maDate |
+--------+
|     80 |
+--------+
1 row in set (0.00 sec)
 
mysql>SELECT UNIX_TIMESTAMP('2011-10-27 08:01:20') - UNIX_TIMESTAMP('2011-10-26 08:00:00') AS maDate;
+--------+
| maDate |
+--------+
|  86480 |
+--------+
1 row in set (0.00 sec)
 
 
mysql>SELECT UNIX_TIMESTAMP(CURRENT_TIMESTAMP) - UNIX_TIMESTAMP('2011-10-26 08:00:00') AS maDate;
+--------+
| maDate |
+--------+
|  15801 |
+--------+
1 row in set (0.00 sec)