【发布时间】:2020-04-13 12:42:49
【问题描述】:
我正在使用 vba,将 sql 数据库中的条目组合成 5 分钟范围到 excel 中,我奇怪地注意到下面的代码总是会在大约晚上 9:15(从上午 12:00:0 开始)之前提取条目数据库在(9:15pm)之后有很多条目
我已将其缩小到 WHERE 子句的第二部分 "AND [DateTime]
但只是将 =(没有 where 查询的另一半),它会按预期运行查询
所以我显然错过了一些简单但没有看到的东西,感谢您的帮助:-x
selectCmd.ActiveConnection = adoDbConn
selectCmd.CommandText = "SELECT DATEADD(MINUTE, (DATEDIFF(MINUTE, '20000101', DateTime) / 5)*5, '20000101') as Date_Time " & _
" ,max(Part_Count)-min(Part_Count) as PartsMade" & _
", max(Alarm_Light) as Alarmlight" & _
", max(PV_Alarm) as Alarm" & _
" FROM [SMP].[dbo].[33_TestImport] " & _
" Where [DateTime]>= DateAdd(Hour, DateDiff(Hour, 0, '" & DateYMD & "')-0, 0) AND [DateTime]<= DateAdd(Hour, DateDiff(Hour, 0, '" & DateYMD & "')+28, 0) " & _
" AND Machine_Number = " & Machvar & " " & _
" Group BY DATEADD(MINUTE, (DATEDIFF(MINUTE, '20000101', DateTime) / 5)*5, '20000101') "
【问题讨论】:
-
dbfiddle 没有显示真正的意外输出,据我所知......
标签: sql sql-server vba