MS SQL Server предоставляет несколько встроенных функций для форматирования и отображения дат различными способами. Одной из наиболее часто используемых функций является функция FORMAT
, которая позволяет изменить формат значения даты с помощью строки пользовательского формата.
Синтаксис функции FORMAT
следующий:
FORMAT(date, format)
date
— это значение даты, которое вы хотите отформатировать, а format
— это строка пользовательского формата, указывающая, как должна отображаться дата.
Например, предположим, что вы хотите отобразить текущую дату в формате «гггг-мм-дд», вы можете использовать следующий запрос:
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS 'Current Date' // 2023-01-12
В этом запросе функция FORMAT используется для форматирования текущей даты (GETDATE()) с использованием строки формата «гггг-мм-дд». Полученному столбцу присваивается имя «Текущая дата».
Вот еще несколько примеров использования функции FORMAT:
MS SQL Пользовательский формат даты в формате «дд/мм/гггг»
SELECT FORMAT(GETDATE(), 'dd/MM/yyyy') AS 'Current Date' // 12/01/2023
MS SQL Пользовательский формат даты в формате «ММ/дд/гггг»
SELECT FORMAT(GETDATE(), 'MM/dd/yyyy') AS 'Current Date' // 01/12/2023
MS SQL Пользовательский формат даты в формате «дддд, мммм дд, гггг»
SELECT FORMAT(GETDATE(), 'dddd, mmmm dd, yyyy') AS 'Current Date' // Thursday, 11 12, 2023
Вы также можете использовать функцию FORMAT в сочетании с другими функциями и предложениями для форматирования значений даты из определенной таблицы. Например, чтобы отобразить дату определенного заказа в формате «гггг-мм-дд» из таблицы «Заказы», вы можете использовать следующий запрос:
SELECT FORMAT(OrderDate, 'yyyy-MM-dd') AS 'Order Date' FROM Orders WHERE OrderID = 123
В этом запросе функция FORMAT используется для форматирования столбца OrderDate из таблицы Orders с использованием строки формата «гггг-мм-дд». В запросе также используется предложение WHERE для фильтрации результатов и отображения только заказа с идентификатором OrderID, равным 123.
Функцию FORMAT также можно комбинировать с другими функциями SQL Server, такими как DATEADD, DATEDIFF и т. д., для обработки и фильтрации даты.
SELECT FORMAT(DATEADD(day, -30, GETDATE()), 'yyyy-MM-dd') AS 'Date 30 days ago' // 2022-12-13
В этом примере функция DATEADD используется для вычисления даты 30 дней назад, а функция FORMAT используется для форматирования даты.
Запустите ссылку SQLFiddle здесь, чтобы получить вывод, и попробуйте выполнить форматирование самостоятельно.
В заключение, функция ФОРМАТ — это мощный инструмент, позволяющий форматировать и отображать даты в определенном формате в MS SQL Server. Имея возможность использовать строку пользовательского формата, вы можете легко форматировать значения даты в соответствии со своими конкретными потребностями.
Первоначально опубликовано на https://stackblogger.com 26 января 2023 г.