SELECT GETDATE()
SQL Server中的上述查询将返回美国的当前日期和时间,因为服务器位于美国。如何修改它以检索欧洲的当前日期和时间?
答案 0 :(得分:4)
试试这个:设置@Offset =
2为东欧时间(EET)捷克斯洛伐克,匈牙利等
Set @Offset = 0, 1, 2 ...
Declare @offset tinyInt = 0
Select GetUtcDate() + @offset/24.0
答案 1 :(得分:0)
将SwitchDateTimeOffset函数与datetimeoffset数据类型一起使用(需要SQL Server 2008或更高版本)。
演示查询:
CREATE TABLE TimeZone (ID int identity,
LocalTime datetimeoffset);
INSERT INTO TimeZone values ('2008-05-21 17:50:01.1234567 -08:00'),
('2008-05-21 18:50:01.1234567 -08:00');
SELECT * FROM TimeZone;
SELECT ID, SWITCHOFFSET(LocalTime,'+01:00') [time for new time zone]
FROM TimeZone;
DROP TABLE TimeZone;
在您的方案中,这将成为:
SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(),'+01:00')
正如p.campbell所指出的,你仍然需要决定哪个时区代表“欧洲”。