Прошу прощения, если это очень просто, я все еще новичок в SQL и учусь каждый день. Я пытаюсь сделать запрос
SELECT ProjectName,
RequestNumber,
ContactId,
ContactFirstName,
ContactLastName,
RequestReceivedDate,
RequestCloseDate,
Category,
SubCategory,
AssignedResourceId,
OwningResourceId,
RequestSource,
ClosedImmediatelyFlag,
RequestStatusCode
FROM dbo.system_requests;
НО мои RequestReceivedDate и RequestCloseDate отключены на 5 часов. Я не могу создать функцию, поскольку я работаю с базой данных поставщика, поэтому хочу преобразовать UTC в местное время в моем операторе выбора и просто не уверен, как это лучше сделать?
Мысли?
система базы данных будет SQL
SQL используется повсюду в любой системе СУБД, такой как Oracle, SQL Server, DB2, Sybase и т. д. Итак, вы не отвечаете на мой вопрос.
Привет, извините, снова супер новый и все еще очень много учусь, поэтому приношу свои извинения, но это SQL Server 2017
Вы можете проверить эту ссылку: Преобразование столбца Datetime из UTC в местное время в инструкции select


SQL Server 2016 поддерживает часовые пояса с помощью оператора AT TIME ZONE «UTC». Ты можешь сделать это:
SELECT ProjectName,
RequestNumber,
ContactId,
ContactFirstName,
ContactLastName,
RequestReceivedDate AT TIME ZONE 'UTC',
RequestCloseDate AT TIME ZONE 'UTC',
Category,
SubCategory,
AssignedResourceId,
OwningResourceId,
RequestSource,
ClosedImmediatelyFlag,
RequestStatusCode
FROM dbo.system_requests;
Вы можете искать "AT TIME ZONE" в Google.
В итоге я сделал это, и это сработало и дало мне то, что я хотел:
SELECT CONVERT(
DATETIME,
SWITCHOFFSET(
CONVERT(DATETIMEOFFSET, system_requests.RequestReceivedDate),
DATENAME(TzOffset, SYSDATETIMEOFFSET())
)
) AS RequestReceivedDate
),
(
SELECT CONVERT(
DATETIME,
SWITCHOFFSET(
CONVERT(DATETIMEOFFSET, system_requests.RequestCloseDate),
DATENAME(TzOffset, SYSDATETIMEOFFSET())
)
) AS RequestClosedDate
Какая у вас система БД? Оракул?