Что делают в 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'.
Поделиться с друзьями
Назад<<< | Содержание | Вперёд>>> |