WHERE dt>DateAdd(MINUTE,-1,DateAdd(SECOND,-DATEPART(SECOND,@ct),DateAdd(MINUTE,-DATEPART(MINUTE,@ct),@ct)))
AND dt<DateAdd(HOUR,1,DateAdd(SECOND,-DATEPART(SECOND,@ct),DateAdd(MINUTE,-DATEPART(MINUTE,@ct),@ct)))
上面的sql应该是sqlserver的tsql,而不是mysql
如果不清楚条件是否正确,可以像这样测试:
DECLARE @ct DATETIME;
SET @ct='2020-06-02 11:52:35';
SELECT DateAdd(MINUTE,-1,DateAdd(SECOND,-DATEPART(SECOND,@ct),DateAdd(MINUTE,-DATEPART(MINUTE,@ct),@ct)))
SELECT DateAdd(HOUR,1,DateAdd(SECOND,-DATEPART(SECOND,@ct),DateAdd(MINUTE,-DATEPART(MINUTE,@ct),@ct)))
输出结果
2020-06-02 10:59:00.000
2020-06-02 12:00:00.000
你的条件是筛选临近当前时间整点的前一个小时的,但是貌似多了一秒