Azure SQL数据库-如何更改时区设置?
我的Azure服务器位于美国东部。在SQL DB中,当我使用Azure SQL数据库-如何更改时区设置?,azure,timezone,Azure,Timezone,我的Azure服务器位于美国东部。在SQL DB中,当我使用getdate()时,它返回UTC时间。但我需要最快的时间。我怎样才能做到呢?是否有任何设置需要更改?OP开发了一个功能: FN_GET_EST(GETDATE()). CREATE FUNCTION FN_GET_EST(@p_in_date as datetime) returns DATETIME as begin DECLARE @dt_offset AS datetimeoffset SET @dt_offset
getdate()
时,它返回UTC时间。但我需要最快的时间。我怎样才能做到呢?是否有任何设置需要更改?OP开发了一个功能:
FN_GET_EST(GETDATE()).
CREATE FUNCTION FN_GET_EST(@p_in_date as datetime) returns DATETIME
as
begin
DECLARE @dt_offset AS datetimeoffset
SET @dt_offset = CONVERT(datetimeoffset, @p_in_date) AT TIME ZONE 'Eastern Standard Time'
RETURN CONVERT(datetime, @dt_offset);
end
获取美国东部时区当前时间的最简单方法是:
在时区“东部标准时间”选择SYSDATETIMEOFFSET()
这将返回一个
datetimeoffset
,并正确计算夏令时。根据此,Azure SQL数据库不支持时区设置;它总是跟随UTC。如果您需要解释非UTC时区中的日期和时间信息,请在SQL数据库中使用。没错,Joseph Xu。您好@Iniyavan,如果我的答案对您有帮助,请接受(标记)它作为答案。这可能对其他社区成员有益。谢谢,徐。我创建了一个小函数,FN\u GET\u EST
来获取EST。我将使用FN\u GET\u EST(GETDATE())
,而不是GETDATE()
。不要使用“美国东部标准时间”,除非你特别指印第安纳州东部。否则,您将无法获得2005年及更早版本的DST信息。我编辑了您的答案以删除“我们”。@Matt Johnson Pint谢谢您,先生。