0

我有一个带有一堆查询的 SP,这些查询使用 datetime 之类的Getdate()

有没有办法可以在 SP 的开头设置一个全局标志来设置日期时间的时区偏移量?

我需要类似的东西set dateformat dmy,但要抵消时区。

4

1 回答 1

0

没有神奇的全局偏移量变量会改变 SQL Server 为会话报告的时间。如果你仔细想想,你会注意到在过程中声明的变量永远不会影响服务器。你需要一些东西,比如说, SET 命令来做到这一点。

我假设应用程序基于 TZ 数据库或等效数据库提供偏移量,并且您只想尽可能轻松地应用它。您可以做的是getdate()使用一个新函数进行包装,该函数localedate()接受偏移量作为输入并将其应用于getdate()with dateadd()

请记住,保存在数据库中的日期没有关联的时区。将它们本地化将是一项更大的任务。

于 2013-01-16T06:29:11.233 回答