Формат даты в SQL — Формат даты и времени SQL

ФОРМАТ ДАТЫ в SQL — ФОРМАТ SQL ()

Эта функция ФОРМАТ () в SQL используется для форматирования поля, чтобы привести его к отображаемому стандартному формату.

Ниже приведен синтаксис функции форматирования:

 SELECT FORMAT (имя_столбца, формат) ИЗ имени таблицы; 

Здесь имя_столбца — говорит об основании, на котором требуется форматирование. И формат – определяет макет

Пример таблицы: Покупки

Название товара Стоимость Дата
 ВЫБЕРИТЕ НАЗВАНИЕ ТОВАРА, СТОИМОСТЬ, ФОРМАТ (Сейчас (), 'ГГГГ-ММ-ДД') AS PerDate FROM Merchandise; 

В приведенном выше примере выбирается любой товар из столбца с именем MerchandiseName и стоимость на конкретную дату дня из таблицы Shopping.

Получите 100% повышение!

Овладейте самыми востребованными навыками прямо сейчас!

ФОРМАТ ДАТЫ в SQL

Функция DATE_FORMAT() возвращает значение, отформатированное в указанном формате. Он используется для языкового форматирования даты/времени и числовых значений в виде строк. Давайте разберемся с этим подробнее ниже:

DATE_FORMAT ()

Это функция SQL-сервера. Формат даты в SQL используется для отображения времени и даты в нескольких макетах и ​​представлениях.

Синтаксис

 DATE_FORMAT (дата, формат) 

– Где дата является подходящей датой, а  Формат говорит о представленном макете.

У нас есть идеальный профессиональный курс сертификации SQL для вас!

Функции формата даты SQL

В SQL при работе с базой данных формат даты в таблице должен быть аналогичен дате ввода. В SQL есть некоторые стандартные функции «формата даты». Вот некоторые из них:

  • СЕЙЧАС () — возвращает текущую дату и время
  • CURTIME() — Возвращает текущее время
  • EXTRACT() — возвращает одну часть даты/времени
  • DATE_SUB() — вычитает указанный интервал времени из даты
  • .
  • DATE_FORMAT() — отображает данные даты/времени в разных форматах
  • DATEDIFF () – возвращает количество дней между двумя датами.
  • DATE_ADD() – ​​добавляет указанный интервал времени к дате
  • .
  • DATE() — извлекает часть даты из даты или выражения даты/времени
  • CURDATE() – возвращает текущую дату
  • .

Мы также предоставляем полное обучение через нашу сертификацию базы данных, пройдите и зарегистрируйтесь сейчас.

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

Существует несколько функций даты SQL, но не все они используются в основном. Существуют определенные функции даты SQL, которые часто используются. Вот некоторые из этих функций SQL Date по умолчанию:

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

Курсы, которые могут вам понравиться

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

Для хранения даты и времени используются следующие типы данных:

  • ДАТА – в формате ГГГГ-ММ-ДД в SQL
  • ГОД – в формате ГГГГ или ГГ в SQL
  • .
  • TIMESTAMP — в формате ГГГГ-ММ-ДД ЧЧ: MI:СС в SQL
  • DATETIME – в формате ГГГГ-ММ-ДД ЧЧ: МИ: СС в SQL

Хотите пройти сертификацию по SQL! Изучайте SQL у лучших экспертов по SQL и добейтесь успеха в своей карьере благодаря сертификации Intellipaat по SQL.

Формат даты и времени в SQL

Типы данных даты и времени

Типы формата даты указаны в таблице ниже:

Тип данных Точность Размер хранилища (байты) Определяемая пользователем точность долей секунды Смещение часового пояса
время 100 наносекунд от 3 до 5 да нет
дата 1 день 3 нет
1 минута 4
нет
нет
дата время 0,00333 секунды 8 нет нет
дата-время2 100 наносекунд от 6 до 8 да нет
смещение даты и времени 100 наносекунд от 8 до 10 да да

Функции даты и времени

Функция Синтаксис Тип возвращаемых данных Детерминированный
SYSDATETIME SYSDATETIME () дата/время2(7)
SYSDATETIMEOFFSET SYSDATETIMEOFFSET ( ) смещение даты и времени(7)
SYSUTCDATETIME SYSUTCDATETIME ( ) дата/время2(7)

Функции системной даты и времени более низкой точности

Функция Синтаксис Тип возвращаемых данных Детерминированный
SYSDATETIME SYSDATETIME () дата/время2(7)
SYSDATETIMEOFFSET SYSDATETIMEOFFSET ( )
смещение даты и времени(7)
SYSUTCDATETIME SYSUTCDATETIME ( ) дата/время2(7)

Приходите в сообщество SQL Intellipaat, если у вас есть еще вопросы по SQL!

Функции для получения частей даты и времени

Функция Синтаксис Тип возвращаемых данных Детерминированный
ДАТАИМЯ DATENAME ( datepart , date  ) нварчар
ДАТАЧАСТЬ DATEPART ( datepart , date  ) Интервал
ДЕНЬ ДЕНЬ ( дата  ) Интервал Да
МЕСЯЦ МЕСЯЦ (  дата  ) Интервал Да
ГОД ГОД (  дата  ) Интервал Да

Функции для получения значений даты и времени из своих частей

Функция Синтаксис Тип возвращаемых данных
Детерминированный
ДАТА ОТ ЧАСТЕЙ DATEFROMPARTS ( год , месяц , день ) дата Детерминированный
ДАТАВРЕМЯ2ОТ ЧАСТЕЙ DATETIME2FROMPARTS
год месяц день , час , минута , секунд , дроби , точность )
дата/время2
(   точность   )
Детерминированный
ДАТАВРЕМЯ ОТ ЧАСТЕЙ DATETIMEFROMPARTS
(
год
, месяц , день , час , минута , секунд миллисекунды )
дата-время Детерминированный
DATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( год , месяц , день , час , минут , секунд ,
9006 5 дробей , час_смещение , минут_смещение , точность )
дата/время
(   точность   )
Детерминированный
SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS
(
год
, месяц , день , час , минута )
малая дата и время Детерминированный
TIMEFROMPARTS TIMEFROMPARTS
( час , минут , секунд , дробей , точность  )
время
(   точность   )
Детерминированный

Смена карьеры

Функции, которые получают разницу во времени и дате

Функция 9002 0 Синтаксис Тип возвращаемых данных Детерминированный
РАЗНИЦА ДАТЫ DATEDIFF (  datepart  , startdate  ,  дата окончания  ) Интервал Детерминированный
DATEDIFF_BIG DATEDIFF_BIG (  datepart , startdate  ,  enddate  ) большое число Детерминированный

Функции, изменяющие значения даты и времени

Функция Синтаксис Тип возвращаемых данных Детерминированный
ДАТАДОБАВИТЬ
DATEADD ( дата, часть , номер , дата )
Тип данных аргумента дата Детерминированный
КОНМЕСЯЦ КОНМЕСЯЦА ( start_date  [ month_to_add  ] ) Тип возвращаемого значения — это тип start_date  или date . Детерминированный
СМЕЩЕНИЕ ПЕРЕКЛЮЧАТЕЛЯ ПЕРЕКЛЮЧАТЕЛЬ СМЕЩЕНИЕ ( DATETIMEOFFSET , часовой пояс ) datetimeoffset  с дробной точностью DATETIMEOFFSET Детерминированный
TODATETIMEOFFSET TODATETIMEOFFSET ( выражение  , часовой пояс ) datetimeoffset  с дробной точностью дата и время аргумент Детерминированный

Подготовьтесь к работе в отрасли, ответив на эти лучшие вопросы и ответы на собеседовании по SQL!

Функции, которые устанавливают или получают формат сеанса

Функция Синтаксис Детерминированный
@@DATEFIRST @@DATEFIRST Недетерминированный
УСТАНОВИТЬ ПЕРВУЮ ДАТУ УСТАНОВИТЬ ДАТУПЕРВЫЙ { номер  | @ число_переменная  } Неприменимо
УСТАНОВИТЬ ФОРМАТ ДАТЫ УСТАНОВИТЬ ФОРМАТ ДАТЫ { формат  | @ format_var  } Неприменимо
@@ЯЗЫК @@ЯЗЫК Неприменимо
НАСТРОЙКА ЯЗЫКА УСТАНОВИТЬ ЯЗЫК { [ N ]  язык  | @ языковая_переменная  } Неприменимо
sp_helplanguage sp_helplanguage  [ [  @language =  ] язык  ] Неприменимо

Функции, подтверждающие значения даты и времени

Функция Синтаксис Тип возвращаемых данных Детерминированный
ISDATE ISDATE ( выражение  ) Интервал Да

Средство форматирования SQL-запросов

В нем описывается, как мы должны форматировать наши SQL-запросы для создания окончательного отчета. Он включает
• Форматирование столбцов в таблице
• Изложение отчета со всеми позиционированием и синопсисом Строки
• Объяснение тем и размеров фолио и отчетов
• Хранение и получение распечаток результатов запроса
• Создание отчетов веб-сайта
Это подводит нас к концу этого формата даты в SQL. Между тем, вы можете сделать гораздо больше, используя формат SQL Date, который мы увидим в нашем следующем руководстве.

Вы можете освоить эти запросы и стать экспертом в SQL-запросах, зарегистрировавшись в признанной в отрасли сертификации SQL.

Расписание курсов

Формат даты SQL | Расширенный SQL

Начиная здесь? Этот урок является частью полного учебника по использованию SQL для анализа данных. Проверьте начало.

В этом уроке мы рассмотрим:

  • Почему даты форматируются по первому году
  • Сумасшедшие правила для даты и времени
  • Практическая задача

В этом уроке используются те же данные из предыдущих уроков, которые были получены из Crunchbase 5 февраля 2014 г. Узнайте больше об этом наборе данных.

Почему даты отформатированы по началу года

Если вы живете в Соединенных Штатах, вы, вероятно, привыкли видеть даты в формате ММ-ДД-ГГГГ или в подобном формате, начиная с месяца. Это странное соглашение по сравнению с остальными мировыми стандартами, но оно не обязательно хуже, чем ДД-ММ-ГГГГ. Проблема с обоими этими форматами заключается в том, что когда они хранятся в виде строк, они не сортируются в хронологическом порядке. Например, вот поле даты, сохраненное в виде строки. Поскольку месяц указан первым, число Оператор ORDER BY не создает хронологический список:

 SELECT постоянная ссылка,
       основан_в
  ОТ tutorial.crunchbase_companies_clean_date
 ЗАКАЗАТЬ
 

Вы можете подумать, что преобразование этих значений из string в date может решить проблему, но на самом деле это не так просто. Mode (и большинство реляционных баз данных) форматируют даты как ГГГГ-ММ-ДД, формат, который имеет большой смысл, поскольку он будет сортировать в одном и том же порядке независимо от того, хранится ли он как дата или как строка. Excel известен тем, что создает форматы даты, которые плохо работают с другими системами, поэтому, если вы экспортируете файлы Excel в CSV и загружаете их в Mode, вы можете часто сталкиваться с этим.

Вот пример из той же таблицы, но с полем с очищенной датой. Обратите внимание, что очищенное поле даты на самом деле хранится в виде строки, но все равно сортируется в хронологическом порядке:

 SELECT постоянная ссылка,
       основан_в,
       Основанный_в_чистом
  ОТ tutorial.crunchbase_companies_clean_date
 ЗАКАЗАТЬ
 

Урок по очистке данных содержит несколько примеров преобразования плохо отформатированных дат в поля с правильным форматом даты.

Сумасшедшие правила для даты и времени

Предполагая, что у вас есть некоторые даты, правильно сохраненные как тип данных date или time , вы можете делать довольно мощные вещи. Возможно, вы хотите вычислить поле дат через неделю после существующего поля. Или, может быть, вы хотите создать поле, которое указывает, сколько дней различаются между значениями в двух других полях даты. Это тривиально просто, но важно помнить, что тип данных ваших результатов будет зависеть от того, что именно вы делаете с датами.

Когда вы выполняете арифметические действия с датами (например, вычитаете одну дату из другой), результаты часто сохраняются как тип данных interval — ряд целых чисел, представляющих период времени. В следующем запросе используется вычитание дат, чтобы определить, сколько времени потребовалось для приобретения компаний (неприобретенные компании и компании без введенных дат были отфильтрованы). Обратите внимание, что поскольку столбец company.founded_at_clean хранится в виде строки, его необходимо привести к отметке времени, прежде чем его можно будет вычесть из другой отметки времени.

 ВЫБЕРИТЕ компании.постоянная ссылка,
       компании.founded_at_clean,
       приобретения.приобретенные_при_очистке,
       приобретения.acquired_at_cleaned -
         company.founded_at_clean::timestamp AS time_to_acquisition
  ИЗ tutorial. crunchbase_companies_clean_date компании
  ПРИСОЕДИНЯЙТЕСЬ tutorial.crunchbase_acquisitions_clean_date приобретения
    ON Acquisitions.company_permalink = company.permalink
 ГДЕ found_at_clean НЕ НУЛЕВОЕ
 

В приведенном выше примере вы можете видеть, что 9Столбец 1056 time_to_acquisition — это интервал, а не другая дата.

Интервалы можно ввести также с помощью функции ИНТЕРВАЛ :

 ВЫБОР компаний.постоянная ссылка,
       компании.founded_at_clean,
       компании.founded_at_clean::timestamp +
         INTERVAL '1 неделя' AS plus_one_week
  ИЗ tutorial.crunchbase_companies_clean_date компании
 ГДЕ found_at_clean НЕ НУЛЕВОЕ
 

Интервал определяется с использованием простых английских терминов, таких как «10 секунд» или «5 месяцев». Также обратите внимание, что добавление или вычитание 9Столбец даты 1056 и столбец интервала приводят к другому столбцу даты , как в приведенном выше запросе.

Вы можете добавить текущее время (на момент выполнения запроса) в свой код с помощью функции NOW() :

 SELECT company.