Последние учебники веб-разработки
 

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


SQL Даты

Самой трудной частью при работе с датами, чтобы быть уверенным, что формат даты вы пытаетесь вставить, соответствует формату столбца даты в базе данных.


Функции даты MySQL

В следующей таблице перечислены наиболее важные встроенные функции даты в MySQL:

функция Описание
NOW() Возвращает текущую дату и время
CURDATE() Возвращает текущую дату
CURTIME() Возвращает текущее время
DATE() Извлечение даты часть даты или выражения даты / времени
EXTRACT() Возвращает одну часть даты / времени
DATE_ADD() Добавляет заданный интервал времени до даты
DATE_SUB() Вычитает заданный интервал времени от даты
DATEDIFF() Возвращает количество дней между двумя датами
DATE_FORMAT() дата Отображение / времени данные в различных форматах

SQL Дата сервера Функции

В следующей таблице перечислены наиболее важные встроенные функции даты в SQL Server:

функция Описание
GETDATE() Возвращает текущую дату и время
DATEPART() Возвращает одну часть даты / времени
DATEADD() Добавляет или вычитает определенный интервал времени от даты
DATEDIFF() Возвращает время между двумя датами
CONVERT() дата Отображение / времени данные в различных форматах

SQL Дата типы данных

MySQL поставляется со следующими типами данных для хранения даты или даты / значение времени в базе данных:

  • ДАТА - формат YYYY-MM-DD
  • DATETIME - формат: YYYY-MM-DD HH: MI: SS
  • TIMESTAMP - формат: YYYY-MM-DD HH: MI: SS
  • ГОД - формат YYYY или YY

SQL Server поставляется со следующими типами данных для хранения даты или даты / значение времени в базе данных:

  • ДАТА - формат YYYY-MM-DD
  • DATETIME - формат: YYYY-MM-DD HH: MI: SS
  • SMALLDATETIME - формат: YYYY-MM-DD HH: MI: SS
  • TIMESTAMP - формат: уникальный номер

Note: Типы даты выбраны для столбца при создании новой таблицы в базе данных!

Для обзора всех типов данных , доступных, перейдите к нашей полной Справочник по типам данных .


SQL Работа с датами

Вы можете сравнить две даты легко, если нет времени компонент участвует!

Предположим , мы имеем следующую "Orders" таблица:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Теперь мы хотим , чтобы выбрать записи с OrderDate из "2008-11-11" из приведенной выше таблицы.

Мы используем следующую ЗЕЬЕСТ:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Результат-набор будет выглядеть следующим образом:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Теперь предположим , что "Orders" таблица выглядит следующим образом (обратите внимание на компонент времени в "OrderDate" колонке):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Камамбер Пьерро 2008-11-09 15:45:21
3 Моцарелла ди Джованни 2008-11-11 11:12:01
4 Маскарпоне Fabioli 2008-10-29 14:56:59

Если мы используем один и тот же оператор SELECT, как описано выше:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

мы не получим никакого результата! Это происходит потому, что запрос ищет только даты без времени части.

Tip: Если вы хотите сохранить ваши запросы простой и легкий в обслуживании, не позволяют компоненты времени ваши даты!