SQL — Функции даты

SQL — Функции даты

От автора: сегодня мы поговорим о том, как работают в SQL функции даты. В следующей таблице приведен список всех важных функций, связанных с датой и временем, которые доступны. Существуют и другие, поддерживаемые различными СУБД. Данный список представляет функции, доступные в СУБД MySQL.

ADDDATE(). Добавляет даты

ADDTIME(). Добавляет время

CONVERT_TZ(). Преобразует из одного часового пояса в другой

CURDATE(). Возвращает текущую дату

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().

SQL — Функции даты

При вызове со вторым аргументом, заданным в днях, MySQL рассматривает это как целое число дней для добавления в выражение.

SQL — Функции даты

ADDTIME(expr1,expr2)

ADDTIME () добавляет expr2 к expr1 и возвращает результат. Expr1 является выражением времени или даты и времени, в то время как expr2 является выражением времени.

SQL — Функции даты

CONVERT_TZ(dt,from_tz,to_tz)

Преобразует значение даты и времени dt из часового пояса, заданного в from_tz, в часовой пояс, заданный в to_tz, и возвращает полученное значение. Эта функция возвращает NULL, если аргументы недействительны.

SQL — Функции даты

CURDATE()

Возвращает текущую дату как значение в формате «YYYY-MM-DD» или YYYYMMDD, в зависимости от того, используется ли эта функция в строковом или в числовом контексте.

SQL — Функции даты

CURRENT_DATE и CURRENT_DATE()

CURRENT_DATE и CURRENT_DATE() являются синонимами для CURDATE()

CURTIME()

Возвращает текущее время как значение в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или в числовом контексте. Значение выражается для текущего часового пояса.

SQL — Функции даты

CURRENT_TIME и CURRENT_TIME()

CURRENT_TIME и CURRENT_TIME() являются синонимами для CURTIME().

CURRENT_TIMESTAMP и CURRENT_TIMESTAMP()

CURRENT_TIMESTAMP и CURRENT_TIMESTAMP() являются синонимами для NOW().

DATE(expr)

Извлекает часть, относящуюся к дате, из выражения даты или даты и времени expr.

SQL — Функции даты

DATEDIFF(expr1,expr2)

DATEDIFF() возвращает expr1.expr2, выраженное как количество дней между двумя датами. И expr1, и expr2 являются выражениями даты или даты и времени. В расчетах используются только части относящиеся к дате.

SQL — Функции даты

DATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)

Эти функции выполняют арифметические операции с датами. date представлено как значение DATETIME или DATE, указывающее начальную дату. expr представляет собой выражение, определяющее значение интервала, который нужно добавить или вычесть из исходной даты. expr — это строка; она может начинаться с «-» для отрицательных интервалов.

unit является ключевым словом, указывающим единицы измерения для выражения. Ключевое слово INTERVAL и обозначение единиц не чувствительны к регистру. В следующей таблице показана ожидаемая форма аргумента expr для каждого значения единицы измерения.

SQL — Функции даты

Значения QUARTER и WEEK доступны в MySQL начиная с версии 5.0.0.

SQL — Функции даты

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)

%H. Час (00..23)

%h. Час (01..12)

%I. Час (01..12)

%i. Числовое обозначение минут (00..59)

%J. День года (001..366)

%k. Час (0..23)

%l. Час (1..12)

%M. Название месяца (January..December)

%м. Числовое обозначение месяца (00..12)

%р. AM или PM

%r. Время, 12-часовой формат (чч: мм: сс, за которым следуют AM или PM)

%S. Секунды (00..59)

%s. Секунды (00..59)

%Т. Время, 24-часовой формат (чч: мм: сс)

%U. Неделя (00..53), где воскресенье — первый день недели

%u. Неделя (00..53), где понедельник — первый день недели

%V. Неделя (01..53), где воскресенье — первый день недели; используется вместе с %X

%v. Неделя (01..53), где понедельник — первый день недели; используется вместе с %x

%W. Название дня недели (Sunday..Saturday)

%w. День недели (0=Sunday..6=Saturday)

%X. Год для недели, где первый день недели — воскресенье, число из четырех цифр; используется вместе с %V

%x. Год для недели, где первый день недели — понедельник, число из четырех цифр; используется вместе с %V

%Y. Год, число, четыре цифры

%y. Числовое обозначение года (две цифры)

%%. Буквально символ %

%x. x, для всех .x., не перечисленных выше

SQL — Функции даты

DATE_SUB(date,INTERVAL expr unit)

Аналогично функции DATE_ADD ().

DAY(date)

DAY() является синонимом функции DAYOFMONTH().

DAYNAME(date)

Возвращает день недели для указанной даты.

SQL — Функции даты

DAYOFMONTH(date)

Возвращает день месяца для указанной даты в диапазоне от 0 до 31.

SQL — Функции даты

DAYOFWEEK(date)

Возвращает индекс дня недели (1 = Sunday, 2 = Monday, ., 7 = Saturday). Эти значения индекса соответствуют стандарту ODBC.

SQL — Функции даты

DAYOFYEAR(date)

Возвращает день года для указанной даты в диапазоне от 1 до 366.

SQL — Функции даты

EXTRACT(unit FROM date)

Функция EXTRACT() использует те же типы указателей единиц измерения, что и DATE_ADD() или DATE_SUB(), но не выполняет арифметические операции с датами, а извлекает из даты часть относящуюся к указателю единиц измерения.

SQL — Функции даты

FROM_DAYS(N)

Возвращается значение DATE с учетом числа дней N.

SQL — Функции даты

Примечание. Используйте 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().

SQL — Функции даты

HOUR(time)

Возвращает часы из указанного времени. Диапазон возвращаемого значения составляет от 0 до 23. Однако диапазон значений TIME на самом деле намного больше, поэтому HOUR может возвращать значения, превышающие 23.

SQL — Функции даты

LAST_DAY(date)

Принимает значение даты или даты и времени и возвращает значение, соответствующее последнему дню месяца. Возвращает NULL, если аргумент недействителен.

SQL — Функции даты

LOCALTIME и LOCALTIME()

LOCALTIME и LOCALTIME() являются синонимами для NOW().

LOCALTIMESTAMP и LOCALTIMESTAMP()

LOCALTIMESTAMP и LOCALTIMESTAMP() являются синонимами для NOW().

MAKEDATE(year,dayofyear)

Возвращает значения даты, заданного года и дня года. Значение dayofyear должно быть больше 0 или результат будет NULL.

SQL — Функции даты

MAKETIME(hour,minute,second)

Возвращает значение времени, рассчитанное из аргументов hour, minute и second.

SQL — Функции даты

MICROSECOND(expr)

Возвращает микросекунды из выражения времени или выражения datetime(expr) в виде числа в диапазоне от 0 до 999999.

SQL — Функции даты

MINUTE(time)

Возвращает минуты для указанного времени, в диапазоне от 0 до 59.

SQL — Функции даты

MONTH(date)

Возвращает месяц для указанной даты в диапазоне от 0 до 12.

SQL — Функции даты

MONTHNAME(date)

Возвращает полное название месяца для указанной даты.

SQL — Функции даты

NOW()

Возвращает текущую дату и время как значение в формате «YYYY-MM-DD HH: MM: SS» или YYYYMMDDHHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте. Это значение выражается в текущем часовом поясе.

SQL — Функции даты

PERIOD_ADD(P,N)

Добавляет N месяцев к периоду P (в формате YYMM или YYYYMM). Возвращает значение в формате YYYYMM. Обратите внимание, что аргумент периода P не является значением даты.

SQL — Функции даты

PERIOD_DIFF(P1,P2)

Возвращает количество месяцев между периодами P1 и P2. Периоды P1 и P2 должны указываться в формате YYMM или YYYYMM. Обратите внимание, что аргументы периодов P1 и P2 не являются значениями даты.

SQL — Функции даты

QUARTER(date)

Возвращает квартал года для указанной даты в диапазоне от 1 до 4.

SQL — Функции даты

SECOND(time)

Возвращает значение секунд для времени в диапазоне от 0 до 59.

SQL — Функции даты

SEC_TO_TIME(seconds)

Возвращает аргумент seconds, преобразованный в часы, минуты и секунды в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте.

SQL — Функции даты

STR_TO_DATE(str,format)

Это инверсивная функция к функции DATE_FORMAT(). Она принимает строку str и строку формата format. Функция STR_TO_DATE() возвращает значение DATETIME, если строка формата содержит как дату, так и время. В противном случае она возвращает значение DATE или TIME, если строка содержит только дату или время.

SQL — Функции даты

SUBDATE(date,INTERVAL expr unit) и SUBDATE(expr,days)

Если SUBDATE() вызывается со вторым аргументом, заданным в виде INTERVAL, функция является синонимом DATE_SUB(). Информацию об аргументе INTERVAL смотрите в разделе DATE_ADD().

SQL — Функции даты

SUBTIME(expr1,expr2)

Функция SUBTIME() возвращает expr1. expr2 выражается как значение в том же формате, что и expr1. Значение expr1 является выражением времени или даты и времени, а значение expr2 является выражением времени.

SQL — Функции даты

SYSDATE()

Возвращает текущую дату и время как значение в формате «YYYY-MM-DD HH: MM: SS» или YYYYMMDDHHMMSS, в зависимости от того, используется ли функция в строковом или в числовом контексте.

SQL — Функции даты

TIME(expr)

Извлекает часть, относящуюся ко времени, выражения expr и возвращает его в виде строки.

SQL — Функции даты

TIMEDIFF(expr1,expr2)

Функция TIMEDIFF() возвращает expr1 . expr2 выражается как значение времени. Значения expr1 и expr2 представляют собой выражения времени или даты и времени, но оба они должны быть одного типа.

SQL — Функции даты

TIMESTAMP (expr), TIMESTAMP (expr1, expr2)

С одним указанным аргументом эта функция возвращает выражение даты или даты и времени expr, как значение даты и времени. С двумя аргументами она добавляет выражение времени expr2 к выражению даты или даты и времени expr1 и возвращает результат как значение даты и времени.

SQL — Функции даты

TIMESTAMPADD(unit,interval,datetime_expr)

Эта функция добавляет целочисленное выражение interval к выражению даты или времени datetime_expr. Единицы измерения для интервала задаются аргументом unit, который может принимать одно из следующих значений:

FRAC_SECOND

SECOND, MINUTE

HOUR, DAY

WEEK

MONTH

QUARTER or

YEAR

Значение unit может быть указано с использованием одного из ключевых слов, как было показано выше, или с префиксом SQL_TSI_. Например, DAY и SQL_TSI_DAY являются действительными значениями.

SQL — Функции даты

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

Возвращает целочисленную разницу между выражениями даты или даты и времени datetime_expr1 и datetime_expr2. Единицы измерения для результата задаются аргументом unit. Действительными для аргумента unit являются те же значения, которые были перечислены в описании функции TIMESTAMPADD().

SQL — Функции даты

TIME_FORMAT(time,format)

Эта функция используется так же, как и функция DATE_FORMAT(), но строка format может содержать указатели формата только для часов, минут и секунд.

Если значение времени содержит часть, относящуюся к часам, которая больше 23, указатели формата часов %H и %k дают значение, большее, чем обычный диапазон от 0 до 23. Другие указатели формата часов дают значение часа 12 по модулю.

SQL — Функции даты

TIME_TO_SEC(time)

Возвращает аргумент time, преобразованный в секунды.

SQL — Функции даты

TO_DAYS(date)

Возвращает номер дня (количество дней с 0-го года) для заданной даты date.

SQL — Функции даты

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.

SQL — Функции даты

UTC_DATE, UTC_DATE()

Возвращает текущую дату UTC как значение в формате «YYYY-MM-DD» или YYYYMMDD, в зависимости от того, используется ли эта функция в строковом или числовом контексте.

SQL — Функции даты

UTC_TIME, UTC_TIME()

Возвращает текущее время UTC как значение в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте.

SQL — Функции даты

UTC_TIMESTAMP, UTC_TIMESTAMP()

Возвращает текущую дату и время UTC как значение «YYYY-MM-DD HH: MM: SS» или в формате YYYYMMDDHHMMSS, в зависимости от того, используется ли эта функция в строковом или в числовом контексте.

SQL — Функции даты

WEEK(date[,mode])

Эта функция возвращает номер недели для заданной даты date. Форма WEEK() с двумя аргументами позволяет указать, будет ли неделя начинаться в воскресенье или в понедельник, и должно ли возвращаемое значение находиться в диапазоне от 0 до 53 или от 1 до 53. Если аргумент mode опущен, используется значение системной переменной default_week_format

SQL — Функции даты

SQL — Функции даты

WEEKDAY(date)

Возвращает индекс дня недели для заданной даты date (0 = понедельник, 1 = вторник, 6 = воскресенье).

SQL — Функции даты

WEEKOFYEAR(date)

Возвращает календарную неделю для заданной даты date как число в диапазоне от 1 до 53. WEEKOFYEAR() — это функция совместимости, эквивалентная WEEK(date,3).

SQL — Функции даты

YEAR(date)

Возвращает год для заданной даты date в диапазоне от 1000 до 9999 или 0 для даты .zero.

SQL — Функции даты

YEARWEEK(date), YEARWEEK(date,mode)

Возвращает год и неделю для заданной даты date. Параметр mode работает точно так же, как аргумент mode для функции WEEK(). Год в результате может отличаться от года в аргументе даты для первой и последней недели года.

SQL — Функции даты

Примечание. Номер недели отличается от того, что вернет функция WEEK() (0) для необязательных аргументов 0 или 1, так как WEEK() вернет неделю в контексте данного года.

Источник: //www.tutorialspoint.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: