Формат даты в 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.
Типы формата даты указаны в таблице ниже:
Тип данных | Точность | Размер хранилища (байты) | Определяемая пользователем точность долей секунды | Смещение часового пояса |
время | 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 ( ) | | № |
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 ) | большое число | Детерминированный |
Функция | Синтаксис | Тип возвращаемых данных | Детерминированный |
ДАТАДОБАВИТЬ | Тип данных аргумента дата | Детерминированный | |
КОНМЕСЯЦ | КОНМЕСЯЦА ( 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 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.