Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个带有一堆查询的 SP,这些查询使用 datetime 之类的Getdate()。
Getdate()
有没有办法可以在 SP 的开头设置一个全局标志来设置日期时间的时区偏移量?
我需要类似的东西set dateformat dmy,但要抵消时区。
set dateformat dmy
没有神奇的全局偏移量变量会改变 SQL Server 为会话报告的时间。如果你仔细想想,你会注意到在过程中声明的变量永远不会影响服务器。你需要一些东西,比如说, SET 命令来做到这一点。
我假设应用程序基于 TZ 数据库或等效数据库提供偏移量,并且您只想尽可能轻松地应用它。您可以做的是getdate()使用一个新函数进行包装,该函数localedate()接受偏移量作为输入并将其应用于getdate()with dateadd()。
getdate()
localedate()
dateadd()
请记住,保存在数据库中的日期没有关联的时区。将它们本地化将是一项更大的任务。