SQL | Функции даты
В SQL даты сложны для новичков, так как при работе с базой данных формат даты в таблице должен совпадать с датой ввода для вставки. В различных сценариях вместо даты используется datetime (время также связано с датой).
В MySql функции даты по умолчанию:
- СЕЙЧАС (): возвращает текущую дату и время. Пример:
ВЫБЕРИТЕ СЕЙЧАС ();
Выход:
2017-01-13 08:03:52
- CURDATE () : возвращает текущую дату. Пример:
ВЫБРАТЬ КУРДАТУ ();
Выход:
2017-01-13
- CURTIME (): возвращает текущее время. Пример:
ВЫБЕРИТЕ CURTIME ();
Выход:
08:05:15
- DATE () : извлекает часть даты из даты или выражения даты / времени. Пример:
Для приведенной ниже таблицы под названием «Тест»Идентификатор Имя Время рождения 4120 Pratik 1996-09-26 16: 44: 15.581 ВЫБЕРИТЕ имя, ДАТУ (время рождения) как дату рождения из теста;
Выход:
Имя Дата рождения Pratik 1996-09-26 - EXTRACT (): возвращает одну часть даты / времени. Синтаксис:
ВЫПИСКА (дата ФОРМЫ ЕДИНИЦЫ);
Можно рассмотреть несколько единиц, но используются только некоторые, например:
МИКРОСЕКУНДА, СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД и т. Д.
А «дата» - допустимое выражение даты.Пример:
Для приведенной ниже таблицы под названием «Тест»Идентификатор Имя Время рождения 4120 Pratik 1996-09-26 16: 44: 15.581 Запросы
ВЫБЕРИТЕ имя, выписку (ДЕНЬ ИЗ ВРЕМЕНИ Рождения) КАК ДЕНЬ Рождения ИЗ теста;
Выход:
Имя День рождения Pratik 26 ВЫБЕРИТЕ имя, выписку (ГОД ОТ ВРЕМЕНИ Рождения) КАК ГОД Рождения ИЗ Теста;
Выход:
Имя Год рождения Pratik 1996 г. ВЫБЕРИТЕ имя, извлечение (ВТОРАЯ ОТ ВРЕМЕНИ Рождения) КАК «Вторая секунда из теста»;
Выход:
Имя Рождение Второе Pratik 581
- DATE_ADD (): добавляет указанный интервал времени к дате
Синтаксис:DATE_ADD (дата, ИНТЕРВАЛ тип выражения);
Где, date - допустимое выражение даты, а expr - это номер интервала, который мы хотим добавить.
и тип может быть одним из следующих:
МИКРОСЕКУНДА, СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД и т. Д.Пример:
Для приведенной ниже таблицы под названием «Тест»Идентификатор Имя Время рождения 4120 Pratik 1996-09-26 16: 44: 15.581 Запросы
ВЫБЕРИТЕ Имя, DATE_ADD (Время рождения, ИНТЕРВАЛ 1 ГОД) КАК ИЗМЕНЕНИЕ ВРЕМЕНИ РОЖДЕНИЯ ИЗ теста;
Выход:
Имя РождениеВремяМодифицированный Pratik 1997-09-26 16: 44: 15.581 ВЫБЕРИТЕ Имя, DATE_ADD (Время рождения, ИНТЕРВАЛ 30 ДНЕЙ) AS BirthDayModified FROM Test;
Выход:
Имя День рождения Pratik 1996-10-26 16: 44: 15.581 ВЫБЕРИТЕ Имя, DATE_ADD (Время рождения, ИНТЕРВАЛ 4 ЧАСА) КАК «Час рождения», измененный из теста;
Выход:
Имя Рождение Второе Pratik 1996-10-26 20: 44: 15.581
- DATE_SUB (): вычитает указанный временной интервал из даты. Синтаксис DATE_SUB такой же, как DATE_ADD, разница только в том, что DATE_SUB используется для вычитания заданного интервала даты.
- DATEDIFF (): возвращает количество дней между двумя датами.
РАЗНДАТ (дата1, дата2); date1 & date2- выражение даты / времени
Пример:
ВЫБЕРИТЕ DATEDIFF ('2017-01-13', '2017-01-03') AS DateDiff;
Выход:
DateDiff 10 - DATE_FORMAT (): отображает дату и время в разных форматах.
ДАТА_ФОРМАТ (дата, формат);
date - допустимая дата, а формат определяет выходной формат даты / времени. Можно использовать следующие форматы:
- % a-Сокращенное название дня недели (вс-сб)
- % b-Сокращенное название месяца (январь-декабрь)
- % c-месяц, числовой (0-12)
- % D-День месяца с английским суффиксом (0, 1, 2, 3)
- % d-День месяца, числовой (00-31)
- % e-День месяца, числовой (0-31)
- % f-микросекунд (000000-999999)
- % H-Hour (00–23)
- % h-час (01–12)
- % I-час (01–12)
- % i-минут, числовое (00-59)
- % j-День года (001-366)
- % k-час (0–23)
- % l-час (1–12)
- % M-название месяца (январь-декабрь)
- % m-месяц, числовой (00-12)
- % p-AM или PM
- % r-Time, 12-часовой (чч: мм: сс, за которым следует AM или PM)
- % S-секунд (00-59)
- % s-секунд (00-59)
- % T-Time, 24 часа (чч: мм: сс)
- % U-неделя (00-53), где воскресенье - первый день недели
- % u-неделя (00-53), где понедельник - первый день недели
- % V-неделя (01-53), где воскресенье - первый день недели, используется с% X
- % v-Week (01-53), где понедельник - первый день недели, используется с% x
- % W-название дня недели (воскресенье-суббота)
- % w-День недели (0 = воскресенье, 6 = суббота)
- % X-Year для недели, где воскресенье - первый день недели, четыре цифры, используемые с% V
- % x-Год для недели, где понедельник - первый день недели, четыре цифры, используется с% v
- % Y-год, числовое, четыре цифры
- % y - год, числовое, две цифры
Пример:
DATE_FORMAT (СЕЙЧАС (), '% d% b% y')
Результат:
13 янв 17
Эта статья предоставлена Pratik Agarwal . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.