SQL-запрос для преобразования UTC в местный часовой пояс
В этой статье мы расскажем, как преобразовать UTC в местный часовой пояс для разного времени UTC в базе данных. Теперь давайте пошагово выполним запрос, который преобразует UTC в местный часовой пояс, используя MSSQL в качестве нашей базы данных.
Шаг 1: Создание базы данных time_converter с помощью следующего SQL-запроса следующим образом.
CREATE DATABASE time_converter;
Шаг 2: Использование базы данных time_converter с помощью следующего SQL-запроса следующим образом.
USE time_converter;
Шаг 3: Создание таблицы времени с 2 столбцами с использованием следующего SQL-запроса следующим образом.
Давайте создадим таблицу с индексом и DATETIME в качестве типа данных.
CREATE TABLE times (Sno INT, date_time DATETIME);
Шаг 4: Чтобы просмотреть описание таблиц в базе данных, используйте следующий SQL-запрос следующим образом.
EXEC sp_columns times;
Шаг 5: Вставка строк в таблицу времен с помощью следующего SQL-запроса следующим образом.
INSERT INTO times VALUES (1,"2021-03-01 12:00:00"), (2,"2021-04-01 09:30:00"), (3,"2021-02-05 10:50:00"), (4,"2021-04-18 08:50:00");
Шаг 6: просмотр таблицы раз после вставки строк с помощью следующего SQL-запроса следующим образом.
SELECT * FROM times;
Запрос 1: запрос на преобразование текущего времени из UTC в местное IST (индийское стандартное время).
Примечание. Часовой пояс Индии на 5 часов 30 минут опережает UTC.
Синтаксис:
SELECT colum_name, CONVERT(datetime, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, column_name), DATENAME(TZOFFSET, SYSDATETIMEOFFSET()))) AS general_name
SELECT CONVERT(datetime, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, GETUTCDATE()), DATENAME(TZOFFSET, SYSDATETIMEOFFSET()))) AS LOCAL_IST;
Здесь можно использовать функцию GETUTCDATE() для получения текущей даты и времени UTC. С помощью этого запроса UTC преобразуется в местный IST.
Запрос 2: запрос на преобразование всех значений времени в таблице умножения в локальный IST из UTC.
Способ 1:
В этом методе время UTC в таблице преобразуется в местное стандартное индийское время. Чтобы преобразовать UTC в IST, к UTC необходимо добавить «+05:30», то же самое будет добавлено в вывод.
Синтаксис:
SELECT colum_name, CONVERT(datetime, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, column_name), DATENAME(TZOFFSET, SYSDATETIMEOFFSET()))) AS general_name FROM table_name;
SELECT date_time, CONVERT(datetime, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, date_time), DATENAME(TZOFFSET, SYSDATETIMEOFFSET()))) AS LOCAL_IST FROM times;
Способ 2:
В этом методе разница между текущей датой-временем ( GETDATE() ) и датой-временем UTC ( GETUTCDATE() ) добавляется к датам в столбце date_time.
Синтаксис:
SELECT column_name, DATEADD(MI, DATEDIFF(MI, GETUTCDATE(), GETDATE()), date_time) AS LOCAL_IST FROM times;
SELECT date_time, DATEADD(MI, DATEDIFF(MI, GETUTCDATE(), GETDATE()), date_time) AS LOCAL_IST FROM times;