На PHP-сайтах иногда удобнее оперировать датой непосредственно в запросе MySQL. Это избавляет от необходимости обработки дат средствами PHP.
Рассмотрим функцию DATE_ADD в MySQL. Функция добавления даты позволяет получить дату, к которой прибавлен определенный период.
К примеру, рассмотрим таблицу из двух полей: id и date

В качестве пробной задачи будем использовать поиск строк, в которых дата отличается от текущей не более чем на полчаса.
Для решения задачи будем использовать функцию DATE_ADD
SELECT id,date FROM `table` WHERE date>DATE_ADD(NOW(),INTERVAL -30 MINUTE)
Синтаксис функции DATE_ADD MySQL следующий:
DATE_ADD(datetime, INTERVAL value unit), где
datetime — дата к которой будет прибавляться период;
value — величина которая будет прибавляться к исходной дате (использование отрицательных величин выполняет вычитание интервала от исходной даты);
unit — тип периода, может принимать одно из значений в таблице ниже
| unit | Пример | Версия MqSQL |
|---|---|---|
| MICROSECOND | 4.1.1 | |
| SECOND | 3.2.3 | |
| MINUTE | 3.2.3 | |
| HOUR | 3.2.3 | |
| DAY | 3.2.3 | |
| WEEK | 5 | |
| MONTH | 3.2.3 | |
| QUARTER | 5 | |
| YEAR | 3.2.3 | |
| SECOND_MICROSECOND | 12.000001 | 4.1.1 |
| MINUTE_MICROSECOND | 3:12.000001 | 4.1.1 |
| MINUTE_SECOND | 3:12 | 4.1.1 |
| HOUR_MICROSECOND | 1:03:12.000001 | 4.1.1 |
| HOUR_SECOND | 1:03:12 | 4.1.1 |
| HOUR_MINUTE | 1:03 | 3.2.3 |
| DAY_MICROSECOND | 12 4:12:15.000009 | 4.1.1 |
| DAY_SECOND | 12 4:12:15 | 3.2.3 |
| DAY_MINUTE | 12 4:12 | 3.2.3 |
| DAY_HOUR | 12 4 | 3.2.3 |
| YEAR_MONTH | 5-3 | 3.2.3 |







