Is it possible to deceive SQL Server to return a different date on GetDate()
without actually changing the machine date?
This would be great, since we have a database with old data and I'm trying to test some queries that use getdate().
I can change my machine date but that brings some other problems with other applications...
Any tips?
Thanks!
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
According to the documentation for getdate():
This value is derived from the operating system of the computer on which the instance of SQL Server is running.
Since it's derived from the OS, I don't think you can change it separately.
回答2:
You can always wrap GetDate()
in a custom function and use that everywhere, although it's not an optimal solution.
回答3:
No, there is not much you can do other than something like this:
SELECT GETDATE()-7 --get date time 7 days ago
回答4:
SELECT DATEADD(dd, -7, GETDATE())