Материалы
[:NetFAQ://]


Поиск

[:NetFAQ://]


Партнеры
Хостинг от Park-Web

www.popularsite.ru
[:NetFAQ://]


Реклама
[:NetFAQ://]


date_add

date_add

date_add(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
- функции синонимы. производят арифметические опреции над датами.

Описание

Аргумент date является величиной типа DATETIME или DATE, задающей начальную дату. Выражение expr задает величину интервала, который следует добавить к начальной дате или вычесть из начальной даты. Выражение expr представляет собой строку, которая может начинаться с - для отрицательных значений интервалов. Ключевое слово type показывает, каким образом необходимо интерпретировать данное выражение. Вспомогательная функция EXTRACT(type FROM date) возвращает интервал указанного типа (type) из значения даты. В следующей таблице показана взаимосвязь аргументов type и expr:
Значение Type 	 Ожидаемый формат expr
SECOND 	                SECONDS
MINUTE 	                MINUTES
HOUR 	                HOURS
DAY 	                DAYS
MONTH 	                MONTHS
YEAR 	                YEARS
MINUTE_SECOND 	   "MINUTES:SECONDS"
HOUR_MINUTE 	   "HOURS:MINUTES"
DAY_HOUR 	   "DAYS HOURS"
YEAR_MONTH 	   "YEARS-MONTHS"
HOUR_SECOND 	   "HOURS:MINUTES:SECONDS"
DAY_MINUTE 	   "DAYS HOURS:MINUTES"
DAY_SECOND 	   "DAYS HOURS:MINUTES:SECONDS"
В MySQL формат выражения expr допускает любые разделительные знаки. Разделители, представленные в данной таблице, приведены в качестве примеров. Если аргумент date является величиной типа DATE и предполагаемые вычисления включают в себя только части YEAR, MONTH, и DAY (т.е. не содержат временной части TIME), то результат представляется величиной типа DATE. В других случаях результат представляет собой величину DATETIME:
mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
    -> 1998-01-01 00:00:00

mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
    -> 1998-01-01

mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
    -> 1997-12-31 23:59:59

mysql> SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 1 SECOND);
    -> 1998-01-01 00:00:00

mysql> SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 1 DAY);
    -> 1998-01-01 23:59:59

mysql> SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL "1:1" MINUTE_SECOND);
    -> 1998-01-01 00:01:00

mysql> SELECT DATE_SUB("1998-01-01 00:00:00", INTERVAL "1 1:1:1" DAY_SECOND);
    -> 1997-12-30 22:58:59

mysql> SELECT DATE_ADD("1998-01-01 00:00:00", INTERVAL "-1 10" DAY_HOUR);
    -> 1997-12-30 14:00:00

mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
    -> 1997-12-02
Если указанный интервал слишком короткий (т.е. не включает все части интервала, ожидаемые при заданном ключевом слове type), то MySQL предполагает, что опущены крайние слева части интервала. Например, если указан аргумент type в виде DAY_SECOND, то ожидаемое выражение expr должно иметь следующие части: дни, часы, минуты и секунды. Если в этом случае указать значение интервала в виде "1:10", то MySQL предполагает, что опущены дни и часы, а данная величина включает только минуты и секунды. Другими словами, сочетание "1:10" DAY_SECOND интерпретируется как эквивалент "1:10" MINUTE_SECOND. Аналогичным образом в MySQL интерпретируются и значения TIME - скорее как представляющие прошедшее время, чем как время дня. Следует учитывать, что при операциях сложения или вычитания с участием величины DATE и выражения, содержащего временную часть, данная величина DATE будет автоматически конвертироваться в величину типа DATETIME:
mysql> SELECT DATE_ADD("1999-01-01", INTERVAL 1 DAY);
    -> 1999-01-02

mysql> SELECT DATE_ADD("1999-01-01", INTERVAL 1 HOUR);
    -> 1999-01-01 01:00:00
При использовании некорректных значений дат результат будет равен NULL. Если при суммировании MONTH, YEAR_MONTH или YEAR номер дня в результирующей дате превышает максимальное количество дней в новом месяце, то номер дня результирующей даты принимается равным последнему дню нового месяца:
mysql> SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
    -> 1998-02-28
Из предыдущего примера видно, что слово INTERVAL и ключевое слово type не являются регистро-зависимыми.

Опубликовано: 2008-05-26 16:45:31 purple_m0nkey

Комментарии

вася Как правильно увеличить член????
админ дрочить меньше

Оставить комментарий:

Имя:
Почта:
Комментарий:
Что написанно на картинке;)
[:NetFAQ://]

Справочники
[:NetFAQ://]


FreeSoftware
Графика
Аудио&Видео
CD&DVD
Офис
Системные утилиты
Антивирусы
Игры
Разное
[:NetFAQ://]


Магазин
Вавилон 5 - второй сезон
Вавилон 5 - второй сезон
[:NetFAQ://]


Статистика


[:NetFAQ://]


FAQ Новости Блог RSS Задать вопрос