SQL Server中IST中的日期

Akh*_*iar 1 datetime sql-server-2008

我的服务器托管在美国或其他一些时区.是否有选项可以在印度标准时间内获取SQL Server中的当前日期.

select getdate()
Run Code Online (Sandbox Code Playgroud)

我应该写什么来获得印度(或其他国家的当前时间).

mar*_*c_s 14

您应该使用DATETIMEOFFSET包含时区的数据类型以及在时区SWITCHOFFSET之间切换的方法.另外:要获得当前时间,请使用SYSDATETIMEOFFSET()而不是GETDATE()

-- gets current date/time in the current timezone
SELECT 
SYSDATETIMEOFFSET()

-- get the current date/time in your preferred timezone +05:30 UTC being Indian Std. Time
SELECT 
SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30')
Run Code Online (Sandbox Code Playgroud)

  • @AkhilKNambiar:只需使用`CAST(SWITCHOFFSET(SYSDATETIMEOFFSET(),'+ 05:30')AS DATETIME)`那应该这样做 (3认同)