我正在处理一个自动化作业的查询。它需要查找最后一天晚上 8 点到晚上 8 点之间的所有交易。我正在考虑做这样的事情
DECLARE @start_date DATETIME
DECLARE @end_date DATETIME
SET @start_date = DATEADD(DAY, -2, GETDATE())
SET @end_date = DATEADD(DAY, -1, GETDATE())
对于自动查询,这可以很好地计算出日期部分。但变量的 TIME 部分是查询执行的当前时间。有没有一种快速简单的方法将两个变量的时间部分硬编码为晚上 8:00?
最佳答案
DECLARE @start_date DATETIME
DECLARE @end_date DATETIME
SET @start_date = DATEADD(hour, 20, DATEDIFF(DAY, 2, GETDATE()))
SET @end_date = @start_date + 1
select @start_date, @end_date
关于sql - 设置日期时间变量的时间部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4952207/