如何从sql实例获取客户端系统当前日期时间?

时间:2015-04-16 09:20:16

标签: datetime timezone client getdate

Sql server getdate()函数获取服务器当前日期时间,如何从sql server实例获取客户端系统当前日期时间?。

我们的一个客户使用一个数据库为多个公司在不同时区运营,这是一个包含许多表,程序,函数和getdate()函数的庞大数据库,被用作许多区域的默认值。

2 个答案:

答案 0 :(得分:0)

你不能。 SQL Server并不知道调用它的客户端所在的时间。

请考虑使用getutcdate()。在数据库中使用UTC,然后在应用程序层中的时区之间进行转换。

如果您认为需要在数据库本身的时区之间进行转换,则需要第三方解决方案,例如我的SQL Server Time Zone Support包。

答案 1 :(得分:0)

我有同样的问题。我找到了这个链接: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/290a0085-47a5-48ab-9557-1b59ee269a40/call-getdate-from-linked-server?forum=transactsql

declare @rmt_time datetime;
exec('SET ? = CURRENT_TIMESTAMP', @rmt_time OUTPUT) at [remote_server];
select CURRENT_TIMESTAMP as local_time, @rmt_time as rmt_time;

希望这有帮助。