Базы данных
и язык SQL

Что делают в SQL текущая дата и другие функции даты и времени страница 3

Навигация по уроку Связанные темы
Назад<<<СодержаниеВперёд>>>

Функции для добавления (или вычитания) некоторого значения к моменту

ADDDATE(date, INTERVAL value) - возвращает дату, к которой прибавлено значение value. Ключевое слово INTERVAL обязательно следует в запросе, после него указывается значение value, а затем единицы измерения прибавляемого значения. Ими могут быть SECOND (секунды), MINUTE (минуты), HOUR (часы), MINUTE_SECOND (минуты и секунды), HOUR_MINUTE (часы и минуты), DAY_SECOND (дни, часы минуты и секунды), DAY_MINUTE (дни, часы и минуты), DAY_HOUR (дни и часы), YEAR_MONTH (годы и месяцы).

SUBDATE(date, INTERVAL value) - вычитает из величины даты date произвольный временной интервал и возвращает результат. Ключевое слово INTERVAL обязательно следует в запросе, после него указывается значение value, а затем единицы измерения вычитаемого значения. Возможные единицы измерения - те же, что и для функции ADDDATE().

SUBTIME(datetime, time) - вычитает из величины времени datetime вида 'YYYY-MM-DD hh:mm:ss' произвольно заданное значение времени time и возвращает результат.

PERIOD_ADD(period, N) - добавляет N месяцев к значению даты period. Значение period должно быть представлено в числовом формате 'YYYYMM' или 'YYMM'.

TIMESTAMPADD(interval, param1, param2) - прибавляет к дате и времени суток param2 в полном или кратком формате временной интервал param1, единицы измерения которого заданы параметром interval. Возможные единицы измерения - те же, что и для функции TIMESTAMPDIFF().

Функции, характеризующие момент (значение аргумента)

DATE(datetime) - извлекает из значения даты и времени суток в формате DATETIME ('YYYY-MM-DD hh:mm:ss') только дату, отсекая часы, минуты и секунды.

TIME(datetime) - извлекает из значения даты и времени суток в формате DATETIME ('YYYY-MM-DD hh:mm:ss') только время суток, отсекая дату.

TIMESTAMP(param) - принимает в качестве аргумента дату и время суток в полном или кратком формате и возвращает полный вариант в формате DATETIME ('YYYY-MM-DD hh:mm:ss').

DAY(date), DAYOFMONTH(date) - принимают в качестве аргумента дату, и возвращают порядковый номер дня в месяце (от 1 до 31).

DAYNAME(date) - принимает в качестве аргумента дату, и возвращает день недели в виде полного слова на английском языке.

DAYOFWEEK(date) - принимает в качестве аргумента дату, и возвращает порядкоый номер дня недели от 1 (воскресенье) до 7 (суббота).

WEEKDAY(date) - принимает в качестве аргумента дату, и возвращает порядкоый номер дня недели от 0 (понедельник) до 6 (воскресенье).

WEEK(date) - принимает в качестве аргумента дату, и возвращает номер недели в году для этой даты от 0 до 53.

WEEKOFYEAR(datetime) - возвращает порядковый номер недели в году для даты datetime от 1 до 53.

MONTH(datetime) - возвращает числовое значение месяца года от 1 до 12 для даты datetime.

MONTHNAME(datetime) - возвращает строку с названием месяца для даты datetime.

QUARTER(datetime) - возвращает значение квартала от 1 до 4 для даты datetime, которая может быть передана в формате 'YYYY-MM-DD' или 'YYYY-MM-DD hh:mm:ss'.

YEAR(datetime) - возвращает год от 1000 до 9999 для даты datetime.

DAYOFYEAR(date) - возвращает порядковый номер дня в году от 1 до 366 для даты date.

HOUR(datetime) - возвращает значение часа от 0 до 23 для времени datetime.

MINUTE(datetime) - возвращает значение минут от 0 до 59 для времени datetime.

SECOND(time) - возвращает количество секунд для времени суток time, которое задаётся либо в виде строки 'hh:mm:ss', либо числа hhmmss.

EXTRACT(type FROM datetime) - принимает дату и время суток datetime и возвращает часть, определяемую параметром type. Значениями параметра могут быть YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.

Функции для преобразования разницы в дни и секунды

TO_DAYS(date) - принимает дату date в кратком 'YYYY-MM-DD' или полном формате 'YYYY-MM-DD hh:mm:ss' и возвращает количество дней, прошедших с нулевого года.

FROM_DAYS(N) - принимает количество дней N, прошедших с нулевого года, и возвращает дату в формате 'YYYY-MM-DD'.

UNIX_TIMESTAMP(), UNIX_TIMESTAMP(datetime) - если параметр не указан, то возвращает количество секунд, прошедших с 00:00 1 января 1970 года. Если параметр datetime указан (в кратком 'YYYY-MM-DD' или полном формате 'YYYY-MM-DD hh:mm:ss'), то возвращает разницу в секундах между 00:00 1 января 1970 года и датой datetime.

FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp, format) - принимает количество секунд, прошедших с 00:00 1 января 1970 года и возвращает дату и время суток в виде строки 'YYYY-MM-DD hh:mm:ss' или в виде числа YYYYDDMMhhmmss в зависимости от того, вызвана функция в строковом или числовом контексте.

TIME_TO_SEC(time) - принимает время суток time в формате 'hh:mm:ss' и возвращает количество секунд, прошедших с начала суток.

SEC_TO_TIME(seconds) - принимает количество секунд seconds, прошедших с начала суток и возвращает время в формате 'hh:mm:ss' или hhmmss в зависимости от того, вызвана функция в строковом или числовом контексте.

MAKEDATE(year, dayofyear) - принимает год year, номер дня в году dayofyear и возвращает дату в формате 'YYYY-MM-DD'.

MAKETIME(hour, minute, second) - принимает часы hour, минуты minute и секунды second и возвращает время суток в формате 'hh:mm:ss'.

Поделиться с друзьями

Назад<<<СодержаниеВперёд>>>