Как вывести дату в sql
GETDATE (Transact-SQL)
Возвращает текущую системную метку времени базы данных в виде значения datetime без смещения часового пояса базы данных. Это значение наследуется от операционной системы компьютера, на котором работает экземпляр SQL Server.
SYSDATETIME и SYSUTCDATETIME имеют большую точность в долях секунды, чем GETDATE и GETUTCDATE. SYSDATETIMEOFFSET включает смещение часового пояса, заданное в системе. SYSDATETIME, SYSUTCDATETIME и SYSDATETIMEOFFSET можно присваивать переменным любого типа даты и времени.
База данных SQL Azure (за исключением Управляемого экземпляра SQL Azure) и Azure Synapse Analytics используют время в формате UTC. Если необходимо интерпретировать сведения о дате и времени в часовом поясе, отличном от UTC, используйте AT TIME ZONE в Базе данных SQL Azure или Azure Synapse Analytics.
Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).
Синтаксические обозначения в Transact-SQL
Синтаксис
Тип возвращаемых данных
datetime
Remarks
Функция GETDATE может использоваться в инструкциях Transact-SQL везде, где допустимо использование выражения datetime.
GETDATE является недетерминированной функцией. Невозможно проиндексировать представления и выражения, ссылающиеся на эту функцию в столбце.
Использование SWITCHOFFSET с функцией GETDATE() может вызвать замедление выполнения запроса, поскольку оптимизатор запросов не может получить точные оценки количества элементов для значения GETDATE. Рекомендуется заранее вычислить значение GETDATE, а затем указать это значение в запросе, как показано в следующем примере. Кроме того, с помощью указания запроса OPTION (RECOMPILE) можно вынудить оптимизатор запросов повторно компилировать план запроса при каждом выполнении одного и того же запроса. В этом случае оптимизатор будет иметь точные оценки количества элементов для GETDATE(), что позволит ему сформировать более эффективный план запроса.
Примеры
В следующих примерах с помощью шести системных функций SQL Server, которые возвращают текущую дату и время, происходит возврат даты, времени или и того и другого. Значения возвращаются последовательно и поэтому могут различаться на доли секунды.
A. Получение текущей системной даты и времени
Б. Получение текущей системной даты
В. Получение текущего системного времени
Примеры: Azure Synapse Analytics и Система платформы аналитики (PDW)
В приведенных ниже примерах с помощью трех системных функций SQL Server, которые возвращают текущую дату и время, происходит получение даты, времени или и того и другого. Значения возвращаются последовательно и поэтому могут различаться на доли секунды.
date (Transact-SQL)
Определяет дату в SQL Server.
Описание типа данных date
Свойство | Значение |
---|---|
Синтаксис | date |
Использование | DECLARE @MyDate date |
CREATE TABLE Таблица1 ( Столбец1 date )
(используется для клиента нижнего уровня)
Дополнительные сведения см. в подразделе «Обратная совместимость для клиентов низкого уровня» следующего раздела.
От 1 января 1 года до 31 декабря 9999 года нашей эры (от 15 октября 1582 года до 31 декабря 9999 года для Informatica).
ММ обозначает 2 цифры, которые представляют месяц и принимают значения от 01 до 12.
ДД обозначает две цифры, представляющие день указанного месяца и принимающие значения от 01 до 31 в зависимости от месяца.
Это значение используется как присоединяемая часть даты при неявном преобразовании данных типа time в значение типа datetime2 или datetimeoffset.
Поддерживаемые форматы строковых литералов для типа данных date
В приведенной ниже таблице перечислены допустимые форматы строковых литералов для типа данных date.
Числовой | Описание |
---|---|
mdy [гг]гг-[м]м-дд | Сочетания [м]м, дд и [гг]гг представляют в строке месяц, день и год, разделенные символом косой черты (/), дефисом (-) или точкой (.). Поддерживаются только двух- и четырехзначные форматы записи года. Для записи года рекомендуется всегда использовать четырехзначный формат. Чтобы указать целое число в промежутке от 0001 до 9999, представляющее пороговое значение года при преобразовании двухзначной записи в четырехзначную, необходимо использовать параметр конфигурации сервера two digit year cutoff. Примечание. Для Informatica значение ГГГГ ограничено диапазоном от 1582 до 9999. Если двузначное число, обозначающее год, меньше или равно двузначному числу из последних двух цифр порогового года, год относится к тому же столетию, что и пороговый год. Если двузначное число, обозначающее год, больше двузначного числа из последних двух цифр порогового года, год относится к столетию, которое предшествует столетию порогового года. Например, если пороговое значение года для двухзначной записи равно 2049, то год, обозначенный двумя цифрами 49, интерпретируется как 2049, а год, обозначенный двумя цифрами 50, интерпретируется как 1950. Формат даты по умолчанию определяется текущими настройками языковых стандартов. Формат даты можно изменить с помощью инструкций SET LANGUAGE и SET DATEFORMAT. Формат гдм не поддерживается для типа данных date. |
Алфавитный формат | Описание |
---|---|
мес [дд][,] гггг гггг [дд] мес | Значение мес означает полное или сокращенное название месяца на текущем языке. Запятые являются необязательными, регистр букв не учитывается. Во избежание неоднозначности используйте четырехзначную запись года. Если не указано число месяца, подразумевается первое число месяца. |
ISO 8601 | Описание |
---|---|
ГГГГ-ММ-ДД ГГГГММДД | То же, что и стандарт SQL. Этот формат является единственным международным стандартом. |
Без разделителей | Описание |
---|---|
[гг]ггммдд гггг[мм][дд] | Данные типа date могут быть определены с помощью четырех, шести или восьми цифр. Строка из шести или восьми цифр всегда интерпретируется как гмд. На месяц и день всегда должно приходиться по две цифры. Строка из четырех цифр воспринимается как значение года. |
ODBC | Описание |
---|---|
Зависит от API-интерфейса ODBC. |
Формат W3C XML | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
гггг-мм-ддTZD | Введен для использования в XML и SOAP.Соответствие стандартам ANSI и ISO 8601Значение date соответствует стандартному определению ANSI SQL для григорианского календаря: «Замечание 85 — данные типа Datetime позволяют хранить даты григорианского календаря в виде чисел диапазона от 0001-01-01 CE до 9999–12–31 CE». Формат строковых литералов по умолчанию, используемый для клиентов низкого уровня, соответствует стандарту SQL, в котором он определен как ГГГГ-ММ-ДД. Данный формат аналогичен определению даты в стандарте ISO 8601. Для Informatica диапазон ограничен интервалом от 1582-10-15 (15 октября 1582 г.) до 9999-12-31 (31 декабря 9999 г.). Обратная совместимость для клиентов нижнего уровняНекоторые клиенты нижнего уровня не поддерживают типы данных time, date, datetime2 и datetimeoffset. В следующей таблице показано сопоставление типов экземпляра более высокого уровня SQL Server и клиентов низкого уровня.
Преобразование данных типа Date и TimeПри преобразовании в типы данных даты и времени SQL Server отвергает все значения, которые он не распознает как значения даты или времени. Сведения об использовании функций CAST и CONVERT c данными типов даты и времени см. в статье Функции CAST и CONVERT (Transact-SQL). Преобразование даты в другие типы данных даты и времениВ этом разделе описывается, что происходит при преобразовании типа данных date в другие типы даты и времени. Преобразование в time(n) завершается сбоем, и появляется сообщение об ошибке 206: «Конфликт типов операндов: date несовместим с time». Преобразование строковых литералов в датуПреобразование строковых литералов в типы данных даты и времени разрешается, если все части строк записаны в допустимом формате. Иначе возникает ошибка времени выполнения. Явные или скрытые преобразования, в которых не задан стиль преобразования типов данных даты и времени в строковые литералы, будут проведены в формате по умолчанию для текущего сеанса. В таблице ниже приводятся правила преобразования строковых литералов в тип данных date.
ПримерыВ следующем примере сравниваются результаты приведения строкового типа к каждому из типов данных date и time. SQL функции даты и времениПриветствую Вас, уважаемые читатели блога webcodius.ru. В базе данных часто требуется хранить различные данные связанные с датой и временем. Это может быть дата добавления информации, дата регистрации пользователя, время последней автоизации и другие данные. В языке SQL есть множество функций связанных с датой и временем, сегодня их и рассмотрим. Все ниже рассмотренные функции работают с календарными типами данных. Получение текущей даты и времени.Чтобы получить текущую дату и время используется функция NOW (). SELECT NOW () Для получения только текущей даты есть функция CURDATE (). SELECT CURDATE () И функция CURTIME (), которая возвращает только текущее время: SELECT CURTIME () Функции CURDATE () и NOW () удобно использовать для добавления в базу данных записей, для которых требуется хранить дату добавления. Например, при добавлении статьи на сайт хорошо бы хранить ее дату публикации. Тогда запрос на добавление статьи в базу будет примерно таким: INSERT INTO posts (id_post, text_post, date_publication) VALUES (1, ‘текст статьи’, NOW ()); Прибавление и вычитание дат и времениФункция ADDDATE (date, INTERVAL value) прибавляет к дате date значение value и возвращает полученное значение. В качестве value могут выступать следующие значения: а также их комбинации: SELECT ADDDATE (‘2015-09-28 10:30:20’, INTERVAL 1 DAY) SELECT ADDDATE (‘2015-09-28 10:30:20’, INTERVAL ‘3 1:20’ DAY_MINUTE) SELECT SUBDATE (‘2015-09-28 10:30:20’, INTERVAL 20 HOUR) Функция PERIOD_ADD (period, n) прибавляет к значению period n месяцев. Значение период должно быть представлено в формате YYYYMM (например сентябрь 2015 года будет 201509). Пример: SELECT PERIOD_ADD (201509, 4) SELECT TIMESTAMPADD (QUARTER, 1, ‘2015-09-28’) Функция SUBTIME (date, time) вычитает из даты date время time. Пример: SELECT SUBTIME (‘2015-09-28 10:30:20′, ’50:20:19’) Вычисление интервала между датамиФункция DATEDIFF (date1, date2) вычисляет разницу в днях между двумя датами, при этом часы, минуты и секунды при указании дат игнорируются. Пример: SELECT DATEDIFF (‘2015-09-28 00:00:20’, ‘2015-09-27 23:40:20’) С помощью этой функции легко определить сколько дней прошло с даты публикации статьи: SELECT DATEDIFF (CURDATE (), date_publication) FROM posts WHERE id_post = 1 SELECT PERIOD_DIFF (201509, 201501) SELECT TIMESTAMPDIFF (HOUR, ‘2015-09-28 10:30:20’, ‘2015-09-28 19:50:20’) Получение различных форматов даты и времени и другой информацииФункция DATE (datetime) возвращает дату, отсекая время. Пример: SELECT DATE (‘2015-09-28 10:30:20’) Функция TIME (datetime) возвращает время, отсекая дату. Пример: SELECT TIME (‘2015-09-28 10:30:20’) TIMESTAMP (‘2015-09-28’) DAY (date) и DAYOFMONTH (date). Функции-синонимы, которые возвращают порядковый номер дня месяца. Пример: SELECT DAY (‘2015-09-28’), DAYOFMONTH (‘2015-09-28’) Функции DAYNAME (date), DAYOFWEEK (date) и WEEKDAY (date). Первая функция возвращает название дня недели, вторая — номер дня недели (отсчет от 1 — воскресенье до 7 — суббота), третья также номер дня недели только другой отсчет(отсчет от 0 — понедельник, до 6 — воскресенье). Пример: SELECT DAYNAME (‘2015-09-28’), DAYOFWEEK (‘2015-09-28’), WEEKDAY (‘2015-09-28’) Функции WEEK (date) и WEEKOFYEAR (datetime). Обе функции возвращают номер недели в году, только у первой неделя начинается с воскресенья, а у второй с понедельника. Пример: SELECT WEEK (‘2015-09-28 10:30:20’), WEEKOFYEAR (‘2015-09-28 10:30:20’) Функция MONTH (date) возвращает числовое значение месяца (от 1 до 12), а MONTHNAME (date) название месяца. Пример: SELECT MONTH (‘2015-09-28 10:30:20’), MONTHNAME (‘2015-09-28 10:30:20’) Функция QUARTER (date) возвращает номер квартала года (от 1 до 4). Пример: SELECT QUARTER (‘2015-09-28 10:30:20’) Функция YEAR (date) возвращает значение года (от 1000 до 9999). Пример: SELECT YEAR (‘2015-09-28 10:30:20’) Функция DAYOFYEAR (date) возвращает порядковый номер дня в году (от 1 до 366). Прмиер: SELECT DAYOFYEAR (‘2015-09-28 10:30:20’) Функция HOUR (datetime) возвращает значение часа (от 0 до 23). Пример: SELECT HOUR (‘2015-09-28 10:30:20’) Функция MINUTE (datetime) возвращает значение минут (от 0 до 59). Пример: SELECT MINUTE (‘2015-09-28 10:30:20’) Функция SECOND (datetime) возвращает значение секунд (от 0 до 59). Пример: SELECT SECOND (‘2015-09-28 10:30:20’) SELECT EXTRACT (YEAR FROM ‘2015-09-28 10:30:20’), EXTRACT (MONTH FROM ‘2015-09-28 10:30:20’), EXTRACT (DAY FROM ‘2015-09-28 10:30:20’), EXTRACT (HOUR FROM ‘2015-09-28 10:30:20’), EXTRACT (MINUTE FROM ‘2015-09-28 10:30:20’), EXTRACT (SECOND FROM ‘2015-09-28 10:30:20’) Взаимообратные функции TO_DAYS (date) и FROM_DAYS (n). Первая преобразует дату в количество дней, прошедших с нулевого года. Вторая, наоборот, принимает число дней, прошедших с нулевого года и преобразует их в дату. Пример: SELECT TO_DAYS (‘2015-09-28 10:30:20’), FROM_DAYS (736234) Взаимообратные функции UNIX_TIMESTAMP (date) и FROM_UNIXTIME (n). Первая преобразует дату в количество секунд, прошедших с 1 января 1970 года. Вторая, наоборот, принимает число секунд, с 1 января 1970 года и преобразует их в дату. Пример: SELECT UNIX_TIMESTAMP (‘2015-09-28 10:30:20’), FROM_UNIXTIME (1443425420) Взаимообратные функции TIME_TO_SEC (time) и SEC_TO_TIME (n). Первая преобразует время в количество секунд, прошедших от начала суток. Вторая, наоборот, принимает число секунд с начала суток и преобразует их во время. Пример: SELECT TIME_TO_SEC (’10:30:20′), SEC_TO_TIME (37820) Функция MAKEDATE (year, n) принимает год year и номер дня в году n и преобразует их в дату. Пример: SELECT MAKEDATE (2015, 271) 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 часов видео | исходники для каждого урока
|