sql server是否将日期时间转换为其他时区?

sql server是否将日期时间转换为其他时区?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,如何将时区中的当前时间(datetime)转换为另一个时区,例如法国?我环顾四周,但没有找到任何可以帮助我的帖子。我正在使用SQLServer2008 select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+05:30')) Date_India, select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),

如何将时区中的当前时间(datetime)转换为另一个时区,例如法国?我环顾四周,但没有找到任何可以帮助我的帖子。我正在使用SQLServer2008

 select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+05:30')) Date_India,

 select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+03:30')) Date_Iran

请用GetUTCDate()替换getdate(),以获得准确的结果,否则本例中的偏移量(5:30)将添加到当前时间(该时间已经有一些偏移量),并将导致不正确的结果


例如,如果您在巴基斯坦,那么GetDate()将为您提供GMT+5:00的时间,在此时间中添加5:50偏移量将导致GMT+10:30,这是完全错误的

我也同意正确的SQL查询使用的是您在屏幕截图中看到的
GetUTCDate()

select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+05:30')) Date_India_withUtcDate

@fan711-好的,我会检查一下,看看情况如何。顺便说一句,这是一个sql server 2012问题。您当前的Datetime列数据类型是Datetimeoffset?还是只是Datetime???@MuhammedAli-仅限Datetime。谢谢,但我发现错误“SWITCHOFFSET”不是可识别的内置函数名。印度时间=2013-10-30 18:59:51.060。谷歌表示10月31日凌晨2点。请将getdate()更改为GetUTCDate()