检索时间段T-SQL
我以这样的方式设置为买到今天检索时间段T-SQL
结果的存储过程,
DECLARE @Start DATETIME
DECLARE @End DATETIME
SET @Start = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
SET @End = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 1)
PRINT @Start
PRINT @End
给我的时间
May 30 2016 12:00AM
May 31 2016 12:00AM
如何修改该条款以给我期间
May 29 2016 5:30PM(Previous day)
May 31 2016 12:00AM(Today)
亲切的问候
尝试这种解决方案:
SET @Start = DATEADD(MINUTE, 30, DATEADD(HOUR, 17, DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), -1)))
SET @End = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 1)
DECLARE @Start DATETIME
DECLARE @End DATETIME
SET @Start = GETDATE()-1
SET @End = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 1)
PRINT @Start
PRINT @End
千万不要使用'GETDATE()-1' –
@ChaosLegion任何具体原因? –
这不是最佳实践,必须尽快停止使用它。请参阅此[链接](http://www.devx.com/dbzone/Article/34594)。我相信你会发现它很有趣。 –
dateadd(day, -1, getdate())
可能只是使用DateAdd像上面。
所以你想'@Start =现在 - 24小时? '如'DATEADD(DAY,-1,GETDATE())'? –
多数民众赞成在...虽然管理,但 – Arianule