更改Getdate的输出

pau*_*oya 11 sql-server getdate

是否有可能欺骗SQL Server返回不同的日期GetDate()而不实际更改机器日期?
这将是很好的,因为我们有一个包含旧数据的数据库,我正在尝试测试一些使用getdate()的查询.
我可以更改我的机器日期,但这会带来其他应用程序的一些其他问题...
任何提示?
谢谢!

And*_*mar 12

根据getdate()文档:

此值派生自运行SQL Server实例的计算机的操作系统.

由于它来自操作系统,我认为你不能单独更改它.


Kla*_*sen 5

GetDate()尽管它不是最佳解决方案,但您始终可以使用自定义函数并在任何地方使用它.

  • @Josh:您无法在没有模式前缀的情况下调用 UDF,例如 **dbo**.GetDate。并且您可以在 UDF 中使用非确定性函数:“create function dbo.GetDate() returns datetime as begin return (select GETDATE()) end”可以正常编译 (2认同)