mysql последний день месяца
Изучаем MySQL: работа с датами и временем
В этой статье мы рассмотрим основы работы с датой и временем в MySQL.
Формат даты и времени
MySQL date format поддерживает несколько форматов даты и времени. Их можно определить следующим образом:
DATE — хранит значение даты в виде ГГГГ-ММ-ДД. Например, 2008-10-23.
DATETIME — хранит значение даты и времени в виде ГГГГ-MM-ДД ЧЧ:ММ:СС. Например, 2008-10-23 10:37:22. Поддерживаемый диапазон дат и времени: 1000-01-01 00:00:00 до 9999-12-31 23:59:59
TIMESTAMP — похож на DATETIME с некоторыми различиями в зависимости от версии MySQL и режима, в котором работает сервер.
Создание полей даты и времени
Форматы даты и времени
Наиболее часто используемым разделителем для дат является тире ( — ), а для времени — двоеточие ( : ). Но мы можем использовать любой символ, или вообще не добавлять никакого символа.
Например, все следующие форматы являются правильными:
Функции даты и времени
MySQL содержит множество функций, которые используются для обработки даты и времени. В приведенной ниже таблице представлен список наиболее часто используемых функций:
Функция | Описание |
ADDDATE() | Добавляет дату. |
ADDTIME() | Добавляет время. |
CONVERT_TZ() | Конвертирует из одного часового пояса в другой. |
CURDATE() | Возвращает текущую дату. |
CURTIME() | Возвращает текущее системное время. |
DATE_ADD() | Добавляет одну дату к другой. |
MySQL DATE FORMAT () | Задает указанный формат даты. |
DATE() | Извлекает часть даты из даты или выражения дата-время. |
DATEDIFF() | Вычитает одну дату из другой. |
DAYNAME() | Возвращает день недели. |
DAYOFMONTH() | Возвращает день месяца (1-31). |
DAYOFWEEK() | Возвращает индекс дня недели из аргумента. |
DAYOFYEAR() | Возвращает день года (1-366). |
EXTRACT | Извлекает часть даты. |
FROM_DAYS() | Преобразует номер дня в дату. |
FROM_UNIXTIME() | Задает формат даты в формате UNIX. |
MySQL DATE_SUB () | Вычитает одну дату из другой. |
HOUR() | Извлекает час. |
LAST_DAY | Возвращает последний день месяца для аргумента. |
MAKEDATE() | Создает дату из года и дня года. |
MAKETIME () | Возвращает значение времени. |
MICROSECOND() | Возвращает миллисекунды из аргумента. |
MINUTE() | Возвращает минуты из аргумента. |
MONTH() | Возвращает месяц из переданной даты. |
MONTHNAME() | Возвращает название месяца. |
NOW() | Возвращает текущую дату и время. |
PERIOD_ADD() | Добавляет интервал к месяцу-году. |
PERIOD_DIFF() | Возвращает количество месяцев между двумя периодами. |
QUARTER() | Возвращает четверть часа из переданной даты в качестве аргумента. |
SEC_TO_TIME() | Конвертирует секунды в формат ‘ЧЧ:MM:СС’. |
SECOND() | Возвращает секунду (0-59). |
MySQL STR TO DATE () | Преобразует строку в дату. |
SUBTIME() | Вычитает время. |
SYSDATE() | Возвращает время, в которое была выполнена функция. |
TIME_FORMAT() | Задает формат времени. |
TIME_TO_SEC() | Возвращает аргумент, преобразованный в секунды. |
TIME() | Выбирает часть времени из выражения, передаваемого в качестве аргумента. |
TIMEDIFF() | Вычитает время. |
TIMESTAMP() | С одним аргументом эта функция возвращает дату или выражение дата-время. С двумя аргументами возвращается сумма аргументов. |
TIMESTAMPADD() | Добавляет интервал к дате-времени. |
TIMESTAMPDIFF() | Вычитает интервал из даты — времени. |
TO_DAYS() | Возвращает аргумент даты, преобразованный в дни. |
UNIX_TIMESTAMP() | Извлекает дату-время в формате UNIX в формат, принимаемый MySQL. |
UTC_DATE() | Возвращает текущую дату по универсальному времени (UTC). |
UTC_TIME() | Возвращает текущее время по универсальному времени (UTC). |
UTC_TIMESTAMP() | Возвращает текущую дату-время по универсальному времени (UTC). |
WEEK() | Возвращает номер недели. |
WEEKDAY() | Возвращает индекс дня недели. |
WEEKOFYEAR() | Возвращает календарную неделю даты (1-53). |
YEAR() | Возвращает год. |
YEARWEEK() | Возвращает год и неделю. |
Вы можете попробовать сочетание нескольких функций в одном запросе (например, чтобы найти день недели):
Внесение значений даты и времени в столбцы таблицы
Данный запрос создает заказ для указанного элемента с датой, временем выполнения заказа, и интервалом через две недели после этого в качестве даты доставки:
Точно так же можно заказать товар с датой доставки через два месяца:
Извлечение данных по дате и времени
В MySQL мы можем отфильтровать извлеченные данные в зависимости от даты и времени. Например, мы можем извлечь только те заказы, доставка которых запланирована на ноябрь:
Заключение
Функции даты и времени MySQL
Ниже представлен пример, в котором используются функции даты. Приведенный запрос выбирает все записи с величиной date_col в течение последних 30 дней:
Возвращает порядковый номер дня месяца для аргумента date в диапазоне от 1 до 31:
Возвращает порядковый номер дня года для аргумента date в диапазоне от 1 до 366:
Возвращает порядковый номер месяца в году для аргумента date в диапазоне от 1 до 12:
Возвращает название дня недели для аргумента date :
Возвращает название месяца для аргумента date :
Возвращает номер квартала года для аргумента date в диапазоне от 1 до 4:
Вот как работает второй аргумент:
Примечание: в версии 4.0 функция WEEK(#,0) была изменена с целью соответствия календарю США.
Заметьте, если неделя является последней неделей прошлого года, MySQL вернет 0 если вы не указали 2 или 3 как опциональный аргумент:
Если вам все же важно уточнить корректную неделю в году, тогда вы можете использовать 2 или 3 как опциональный аргумент или использовать YEARWEEK()
Возвращает год для аргумента date в диапазоне от 1000 до 9999:
Возвращает час для аргумента time в диапазоне от 0 до 23:
Возвращает количество минут для аргумента time в диапазоне от 0 до 59:
Возвращает количество секунд для аргумента time в диапазоне от 0 до 59:
Значение 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» |
Из предыдущего примера видно, что слово INTERVAL и ключевое слово type не являются регистро-зависимыми.
EXTRACT(type FROM date)
Функция TO_DAYS() не предназначена для использования с величинами, предшествующими введению григорианского календаря (1582), поскольку не учитывает дни, утерянные при изменении календаря.
Возвращает величину DATE для заданного номера дня N :
Функция FROM_DAYS() не предназначена для использования с величинами, предшествующими введению григорианского календаря (1582), поскольку она не учитывает дни, утерянные при изменении календаря.
Определитель | Описание |
%M | Название месяца (январь. декабрь) |
%W | Название дня недели (воскресенье. суббота) |
%D | День месяца с английским суффиксом (0st, 1st, 2nd, 3rd и т.д.) |
%Y | Год, число, 4 разряда |
%y | Год, число, 2 разряда |
%X | Год для недели, где воскресенье считается первым днем недели, число, 4 разряда, используется с ‘%V’ |
%x | Год для недели, где воскресенье считается первым днем недели, число, 4 разряда, используется с ‘%v’ |
%a | Сокращенное наименование дня недели (Вс. Сб) |
%d | День месяца, число (00..31) |
%e | День месяца, число (0..31) |
%m | Месяц, число (00..12) |
%c | Месяц, число (0..12) |
%b | Сокращенное наименование месяца (Янв. Дек) |
%j | День года (001..366) |
%H | Час (00..23) |
%k | Час (0..23) |
%h | Час (01..12) |
%I | Час (01..12) |
%l | Час (1..12) |
%i | Минуты, число (00..59) |
%r | Время, 12-часовой формат (hh:mm:ss [AP]M) |
%T | Время, 24-часовой формат (hh:mm:ss) |
%S | Секунды (00..59) |
%s | Секунды (00..59) |
%p | AM или PM |
%w | День недели (0=воскресенье..6=суббота) |
%U | Неделя (00..53), где воскресенье считается первым днем недели |
%u | Неделя (00..53), где понедельник считается первым днем недели |
%V | Неделя (01..53), где воскресенье считается первым днем недели. Используется с ‘ %X ‘ |
%v | Неделя (01..53), где понедельник считается первым днем недели. Используется с ‘ %x ‘ |
%% | Литерал ‘ % ‘. |
Все другие символы просто копируются в результирующее выражение без интерпретации:
В MySQL 3.23 символ ‘ % ‘ должен предшествовать символам определителя формата. В более ранних версиях MySQL символ ‘ % ‘ необязателен.
Mysql последний день месяца
This section describes the functions that can be used to manipulate temporal values. See Section 11.2, “Date and Time Data Types”, for a description of the range of values each date and time type has and the valid formats in which values may be specified.
Table 12.11 Date and Time Functions
Here is an example that uses date functions. The following query selects all rows with a date_col value from within the last 30 days:
The query also selects rows with dates that lie in the future.
Functions that expect date values usually accept datetime values and ignore the time part. Functions that expect time values usually accept datetime values and ignore the date part.
Other functions expect complete dates and return NULL for incomplete dates. These include functions that perform date arithmetic or that map parts of dates to names. For example:
ADDTIME() adds expr2 to expr1 and returns the result. expr1 is a time or datetime expression, and expr2 is a time expression.
Beginning with MySQL 8.0.28, the return type of this function and of the SUBTIME() function is determined as follows:
Otherwise, the resolved type of the function is derived from the resolved type of the first argument.
CONVERT_TZ() converts a datetime value dt from the time zone given by from_tz to the time zone given by to_tz and returns the resulting value. Time zones are specified as described in Section 5.1.15, “MySQL Server Time Zone Support”. This function returns NULL if the arguments are invalid.
On 32-bit platforms, the supported range of values for this function is the same as for the TIMESTAMP type (see Section 11.2.1, “Date and Time Data Type Syntax”, for range information). On 64-bit platforms, beginning with MySQL 8.0.28, the maximum supported value is ‘3001-01-18 23:59:59.999999’ UTC.
Regardless of platform or MySQL version, if the value falls out of the supported range when converted from from_tz to UTC, no conversion occurs.
Returns the current date as a value in ‘ YYYY-MM-DD ‘ or YYYYMMDD format, depending on whether the function is used in string or numeric context.
Получить последний день месяца в SQL
Мне нужно получить последний день месяца, заданный как дата в SQL. Если у меня первый день месяца, я могу сделать что-то вроде этого:
но кто-нибудь знает, как обобщить его, поэтому я могу найти последний день месяца для любой заданной даты?
19 ответов
из SQL Server 2012 вы можете использовать функция eomonth
вы можете получить дни в дате, используя день():
Я знаю, это старый вопрос, но вот еще одно решение, которое работает для меня
Я надеюсь, что это поможет кому-то еще. сайте StackOverflow скалы.
на основании заявления:
как насчет добавления месяца к дате @x, а затем извлечения последнего дня месяца, предшествующего этому (т. е. последний день месяца поставляемой даты)
Примечание: это был тест с использованием SQL Server 2008 R2
просто расширьте свою формулу немного:
для SQL server 2012 или выше используйте EOMONTH, чтобы получить последнюю дату месяца
SQL-запрос для отображения даты окончания текущего месяца
SQL-запрос для отображения даты окончания следующего месяца
используя SQL Server, вот еще один способ найти последний день месяца:
пытаюсь выполнить следующий запрос, он даст вам все, что вы хотите 🙂
WinSQL: я хотел вернуть все записи за последний месяц:
работает в SQL server
Если вам это нужно часто, оберните его в встроенный TVF, который очень быстрый:
используя sql server 2005, это работает для меня:
в принципе, вы получаете количество месяцев с начала (SQL Server) времени для YOUR_DATE. Затем добавьте к нему один, чтобы получить порядковый номер следующего месяца. Затем вы добавляете это количество месяцев к 0, чтобы получить дату, которая является первым днем следующего месяца. Из этого вы вычитаете день, чтобы добраться до последнего дня YOUR_DATE.
это работает для меня, используя Microsoft SQL Server 2005:
возьмите некоторую базовую дату, которая является 31-й из некоторого месяца, например «20011231». Тогда используйте
следующая процедура (я привел 3 одинаковых примера ниже, только значение @dt отличается).
Я написал следующую функцию, она работает.
он возвращает тип данных datetime. Ноль часов, минут, секунд, миллисекунд.
очень легко использовать. 2 пример:
функция LAST_DAY отлично работает для этого.
Edit: на самом деле, как упоминалось в комментариях, это, вероятно, не для всех SQL. Я оставлю сообщение в возможности того, что кто-то ищет ответ MySQL/Oracle, наткнувшись на него.
принимает значение даты или времени и возвращает соответствующее значение для последнего дня месяца. Возвращает NULL, если аргумент недействительный.
SQL — Функции даты
Дата публикации: 2017-12-13
От автора: сегодня мы поговорим о том, как работают в SQL функции даты. В следующей таблице приведен список всех важных функций, связанных с датой и временем, которые доступны. Существуют и другие, поддерживаемые различными СУБД. Данный список представляет функции, доступные в СУБД MySQL.
ADDDATE(). Добавляет даты
ADDTIME(). Добавляет время
CONVERT_TZ(). Преобразует из одного часового пояса в другой
CURDATE(). Возвращает текущую дату
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
CURRENT_DATE(), CURRENT_DATE. Синонимы для CURDATE()
CURRENT_TIME(), CURRENT_TIME. Синонимы для CURTIME()
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP. Синонимы для NOW()
CURTIME(). Возвращает текущее время
DATE_ADD(). Слагает две даты
DATE_FORMAT(). Задает указанный формат даты
DATE_SUB(). Вычитает одну дату из другой
DATE(). Извлекает часть, относящуюся к дате, из выражения представляющего дату или время и дату
DATEDIFF(). Вычитает одну дату из другой
DAY(). Синоним для DAYOFMONTH()
DAYNAME(). Возвращает день недели
DAYOFMONTH(). Возвращает день месяца (1-31)
DAYOFWEEK(). Возвращает индекс дня недели аргумента
DAYOFYEAR(). Возвращает номер дня в году (1-366)
EXTRACT. Извлекает часть, относящуюся к дате
FROM_DAYS(). Преобразует номер дня в дату
FROM_UNIXTIME(). Форматирует дату как временную метку UNIX
HOUR(). Извлекает час
LAST_DAY. Возвращает последний день месяца для аргумента
LOCALTIME(), LOCALTIME. Синоним для NOW()
LOCALTIMESTAMP, LOCALTIMESTAMP (). Синоним для NOW()
MAKEDATE(). Создает дату из года и дня года
MAKETIME. MAKETIME(). MICROSECOND(). Возвращает микросекунды из аргумента
MINUTE(). Возвращает минуты из аргумента
MONTH(). Возврат месяца из даты
MONTHNAME(). Возвращает название месяца
NOW(). Возвращает текущую дату и время
PERIOD_ADD(). Добавляет период к году-месяцу
PERIOD_DIFF(). Возвращает количество месяцев между периодами
QUARTER(). Возвращает квартал из аргумента
SEC_TO_TIME(). Преобразует секунды в формат «HH: MM: SS»
SECOND(). Возвращает секунды (0-59)
STR_TO_DATE(). Преобразует строку в дату
SUBDATE(). При вызове с тремя аргументами синоним DATE_SUB()
SUBTIME(). Вычитает время
SYSDATE(). Возвращает время выполнения функции
TIME_FORMAT(). Задает формат времени
TIME_TO_SEC(). Возвращает аргумент, преобразованный в секунды
TIME(). Извлекает часть, относящуюся ко времени, из переданного выражения
TimeDiff(). Вычитает время
TIMESTAMP(). С одним аргументом эта функция возвращает выражение даты или даты и времени. С двумя аргументами — слагает эти два аргумента
TIMESTAMPADD(). Добавляет интервал к выражению даты и времени
TIMESTAMPDIFF(). Вычитает интервал из выражения даты и времени
TO_DAYS(). Возвращает аргумент даты, преобразованный в дни
UNIX_TIMESTAMP(). Возвращает временную метку UNIX
UTC_DATE(). Возвращает текущую дату UTC
UTC_TIME(). Возвращает текущее время UTC
UTC_TIMESTAMP(). Возвращает текущую дату и время UTC
WEEK(). Возвращает номер недели
WEEKDAY(). Возвращает индекс дня недели
WEEKOFYEAR(). Возвращает календарный номер недели (1-53)
YEAR(). Возвращает год
YEARWEEK(). Возвращает год и неделю
ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)
При вызове со вторым аргументом, заданным в виде INTERVAL, функция ADDDATE() является синонимом DATE_ADD(). Связанная функция SUBDATE() является синонимом DATE_SUB(). Информацию об аргументе блока INTERVAL см. в разделе DATE_ADD().
При вызове со вторым аргументом, заданным в днях, MySQL рассматривает это как целое число дней для добавления в выражение.
ADDTIME(expr1,expr2)
ADDTIME () добавляет expr2 к expr1 и возвращает результат. Expr1 является выражением времени или даты и времени, в то время как expr2 является выражением времени.
CONVERT_TZ(dt,from_tz,to_tz)
Преобразует значение даты и времени dt из часового пояса, заданного в from_tz, в часовой пояс, заданный в to_tz, и возвращает полученное значение. Эта функция возвращает NULL, если аргументы недействительны.
CURDATE()
Возвращает текущую дату как значение в формате «YYYY-MM-DD» или YYYYMMDD, в зависимости от того, используется ли эта функция в строковом или в числовом контексте.
CURRENT_DATE и CURRENT_DATE()
CURRENT_DATE и CURRENT_DATE() являются синонимами для CURDATE()
CURTIME()
Возвращает текущее время как значение в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или в числовом контексте. Значение выражается для текущего часового пояса.
CURRENT_TIME и CURRENT_TIME()
CURRENT_TIME и CURRENT_TIME() являются синонимами для CURTIME().
CURRENT_TIMESTAMP и CURRENT_TIMESTAMP()
CURRENT_TIMESTAMP и CURRENT_TIMESTAMP() являются синонимами для NOW().
DATE(expr)
Извлекает часть, относящуюся к дате, из выражения даты или даты и времени expr.
DATEDIFF(expr1,expr2)
DATEDIFF() возвращает expr1.expr2, выраженное как количество дней между двумя датами. И expr1, и expr2 являются выражениями даты или даты и времени. В расчетах используются только части относящиеся к дате.
DATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)
Эти функции выполняют арифметические операции с датами. date представлено как значение DATETIME или DATE, указывающее начальную дату. expr представляет собой выражение, определяющее значение интервала, который нужно добавить или вычесть из исходной даты. expr — это строка; она может начинаться с «-» для отрицательных интервалов.
unit является ключевым словом, указывающим единицы измерения для выражения. Ключевое слово INTERVAL и обозначение единиц не чувствительны к регистру. В следующей таблице показана ожидаемая форма аргумента expr для каждого значения единицы измерения.
Значения QUARTER и WEEK доступны в MySQL начиная с версии 5.0.0.
DATE_FORMAT (date,format)
Эта команда задает формат значения date в соответствии с указанной строкой format. В строке format могут использоваться следующие указатели. Перед указателями формата необходимо добавлять символ ‘%’.
%a. Сокращенное название дня недели (Sun..Sat)
%b. Сокращенное название месяца (Jan..Dec)
%с. Числовое обозначение месяца (0…12)
%D. День месяца с английским суффиксом (0, 1, 2, 3,.)
%d. Числовое обозначение дня месяца (00..31)
%е. Числовое обозначение дня месяца (00..31)
%f. Микросекунды (000000..999999)
%i. Числовое обозначение минут (00..59)
%J. День года (001..366)
%M. Название месяца (January..December)
%м. Числовое обозначение месяца (00..12)
%r. Время, 12-часовой формат (чч: мм: сс, за которым следуют AM или PM)
%Т. Время, 24-часовой формат (чч: мм: сс)
%U. Неделя (00..53), где воскресенье — первый день недели
%u. Неделя (00..53), где понедельник — первый день недели
%V. Неделя (01..53), где воскресенье — первый день недели; используется вместе с %X
%v. Неделя (01..53), где понедельник — первый день недели; используется вместе с %x
%W. Название дня недели (Sunday..Saturday)
%w. День недели (0=Sunday..6=Saturday)
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
%X. Год для недели, где первый день недели — воскресенье, число из четырех цифр; используется вместе с %V
%x. Год для недели, где первый день недели — понедельник, число из четырех цифр; используется вместе с %V
%Y. Год, число, четыре цифры
%y. Числовое обозначение года (две цифры)
DATE_SUB(date,INTERVAL expr unit)
Аналогично функции DATE_ADD ().
DAY(date)
DAY() является синонимом функции DAYOFMONTH().
DAYNAME(date)
Возвращает день недели для указанной даты.
DAYOFMONTH(date)
Возвращает день месяца для указанной даты в диапазоне от 0 до 31.
DAYOFWEEK(date)
DAYOFYEAR(date)
Возвращает день года для указанной даты в диапазоне от 1 до 366.
EXTRACT(unit FROM date)
Функция EXTRACT() использует те же типы указателей единиц измерения, что и DATE_ADD() или DATE_SUB(), но не выполняет арифметические операции с датами, а извлекает из даты часть относящуюся к указателю единиц измерения.
FROM_DAYS(N)
Возвращается значение DATE с учетом числа дней N.
Примечание. Используйте FROM_DAYS() для старых дат осторожно. Функция не предназначена для работы со значениями дат до введения григорианского календаря (1582).
FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)
Возвращает представление аргумента unix_timestamp как значение в формате «YYYY-MM-DD HH: MM: SS или YYYYMMDDHHMMSS» в зависимости от того, используется ли эта функция в строковом или в числовом контексте. Значение выражается в текущем часовом поясе. Параметр unix_timestamp является внутренним значением метки времени, которое создается функцией UNIX_TIMESTAMP().
Если format указано, результат форматируется в соответствии со строкой format, которая используется так же, как описано в разделе DATE_FORMAT().
HOUR(time)
Возвращает часы из указанного времени. Диапазон возвращаемого значения составляет от 0 до 23. Однако диапазон значений TIME на самом деле намного больше, поэтому HOUR может возвращать значения, превышающие 23.
LAST_DAY(date)
Принимает значение даты или даты и времени и возвращает значение, соответствующее последнему дню месяца. Возвращает NULL, если аргумент недействителен.
LOCALTIME и LOCALTIME()
LOCALTIME и LOCALTIME() являются синонимами для NOW().
LOCALTIMESTAMP и LOCALTIMESTAMP()
LOCALTIMESTAMP и LOCALTIMESTAMP() являются синонимами для NOW().
MAKEDATE(year,dayofyear)
Возвращает значения даты, заданного года и дня года. Значение dayofyear должно быть больше 0 или результат будет NULL.
MAKETIME(hour,minute,second)
Возвращает значение времени, рассчитанное из аргументов hour, minute и second.
MICROSECOND(expr)
Возвращает микросекунды из выражения времени или выражения datetime(expr) в виде числа в диапазоне от 0 до 999999.
MINUTE(time)
Возвращает минуты для указанного времени, в диапазоне от 0 до 59.
MONTH(date)
Возвращает месяц для указанной даты в диапазоне от 0 до 12.
MONTHNAME(date)
Возвращает полное название месяца для указанной даты.
Возвращает текущую дату и время как значение в формате «YYYY-MM-DD HH: MM: SS» или YYYYMMDDHHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте. Это значение выражается в текущем часовом поясе.
PERIOD_ADD(P,N)
Добавляет N месяцев к периоду P (в формате YYMM или YYYYMM). Возвращает значение в формате YYYYMM. Обратите внимание, что аргумент периода P не является значением даты.
PERIOD_DIFF(P1,P2)
Возвращает количество месяцев между периодами P1 и P2. Периоды P1 и P2 должны указываться в формате YYMM или YYYYMM. Обратите внимание, что аргументы периодов P1 и P2 не являются значениями даты.
QUARTER(date)
Возвращает квартал года для указанной даты в диапазоне от 1 до 4.
SECOND(time)
Возвращает значение секунд для времени в диапазоне от 0 до 59.
SEC_TO_TIME(seconds)
Возвращает аргумент seconds, преобразованный в часы, минуты и секунды в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте.
STR_TO_DATE(str,format)
Это инверсивная функция к функции DATE_FORMAT(). Она принимает строку str и строку формата format. Функция STR_TO_DATE() возвращает значение DATETIME, если строка формата содержит как дату, так и время. В противном случае она возвращает значение DATE или TIME, если строка содержит только дату или время.
SUBDATE(date,INTERVAL expr unit) и SUBDATE(expr,days)
Если SUBDATE() вызывается со вторым аргументом, заданным в виде INTERVAL, функция является синонимом DATE_SUB(). Информацию об аргументе INTERVAL смотрите в разделе DATE_ADD().
SUBTIME(expr1,expr2)
Функция SUBTIME() возвращает expr1. expr2 выражается как значение в том же формате, что и expr1. Значение expr1 является выражением времени или даты и времени, а значение expr2 является выражением времени.
SYSDATE()
Возвращает текущую дату и время как значение в формате «YYYY-MM-DD HH: MM: SS» или YYYYMMDDHHMMSS, в зависимости от того, используется ли функция в строковом или в числовом контексте.
TIME(expr)
Извлекает часть, относящуюся ко времени, выражения expr и возвращает его в виде строки.
TIMEDIFF(expr1,expr2)
TIMESTAMP (expr), TIMESTAMP (expr1, expr2)
С одним указанным аргументом эта функция возвращает выражение даты или даты и времени expr, как значение даты и времени. С двумя аргументами она добавляет выражение времени expr2 к выражению даты или даты и времени expr1 и возвращает результат как значение даты и времени.
TIMESTAMPADD(unit,interval,datetime_expr)
Эта функция добавляет целочисленное выражение interval к выражению даты или времени datetime_expr. Единицы измерения для интервала задаются аргументом unit, который может принимать одно из следующих значений:
Значение unit может быть указано с использованием одного из ключевых слов, как было показано выше, или с префиксом SQL_TSI_. Например, DAY и SQL_TSI_DAY являются действительными значениями.
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
Возвращает целочисленную разницу между выражениями даты или даты и времени datetime_expr1 и datetime_expr2. Единицы измерения для результата задаются аргументом unit. Действительными для аргумента unit являются те же значения, которые были перечислены в описании функции TIMESTAMPADD().
TIME_FORMAT(time,format)
Эта функция используется так же, как и функция DATE_FORMAT(), но строка format может содержать указатели формата только для часов, минут и секунд.
Если значение времени содержит часть, относящуюся к часам, которая больше 23, указатели формата часов %H и %k дают значение, большее, чем обычный диапазон от 0 до 23. Другие указатели формата часов дают значение часа 12 по модулю.
TIME_TO_SEC(time)
Возвращает аргумент time, преобразованный в секунды.
TO_DAYS(date)
Возвращает номер дня (количество дней с 0-го года) для заданной даты date.
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
Если эта функция вызывается без аргумента, она возвращает временную метку Unix (секунды с «1970-01-01 00:00:00» UTC), как целое положительное число. Если UNIX_TIMESTAMP() вызывается с аргументом date, она возвращает значение аргумента, выраженное в секундах с «1970-01-01 00:00:00» UTC. date может быть строкой DATE, строкой DATETIME, TIMESTAMP или числом в формате YYMMDD или YYYYMMDD.
UTC_DATE, UTC_DATE()
Возвращает текущую дату UTC как значение в формате «YYYY-MM-DD» или YYYYMMDD, в зависимости от того, используется ли эта функция в строковом или числовом контексте.
UTC_TIME, UTC_TIME()
Возвращает текущее время UTC как значение в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте.
UTC_TIMESTAMP, UTC_TIMESTAMP()
Возвращает текущую дату и время UTC как значение «YYYY-MM-DD HH: MM: SS» или в формате YYYYMMDDHHMMSS, в зависимости от того, используется ли эта функция в строковом или в числовом контексте.
WEEK(date[,mode])
Эта функция возвращает номер недели для заданной даты date. Форма WEEK() с двумя аргументами позволяет указать, будет ли неделя начинаться в воскресенье или в понедельник, и должно ли возвращаемое значение находиться в диапазоне от 0 до 53 или от 1 до 53. Если аргумент mode опущен, используется значение системной переменной default_week_format
WEEKDAY(date)
Возвращает индекс дня недели для заданной даты date (0 = понедельник, 1 = вторник, 6 = воскресенье).
WEEKOFYEAR(date)
Возвращает календарную неделю для заданной даты date как число в диапазоне от 1 до 53. WEEKOFYEAR() — это функция совместимости, эквивалентная WEEK(date,3).
YEAR(date)
YEARWEEK(date), YEARWEEK(date,mode)
Возвращает год и неделю для заданной даты date. Параметр mode работает точно так же, как аргумент mode для функции WEEK(). Год в результате может отличаться от года в аргументе даты для первой и последней недели года.
Примечание. Номер недели отличается от того, что вернет функция WEEK() (0) для необязательных аргументов 0 или 1, так как WEEK() вернет неделю в контексте данного года.
Редакция: Команда webformyself.
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока