Выражение не-логического типа, указанного в контексте, где условие ожидается около 'End Time'

 SELECT  AgentId, StartTime, 
 EventTo =     dateadd(hh,datepart(hh,StartTime)+1,convert(datetime,convert(varchar,StartTime,112 ))),
 EndTime
 from [stage].[Agent]
 where  EndTime is not null and StartTime is not null

Приведенная выше строка выдаст ошибку при запуске инструмента под названием DbFit, однако он будет успешно работать в SSMS.

An expression of non-boolean type specified in a context where a condition is    expected, near 'EndTime'.

Единственный способ воспроизвести ошибку в SSMS заключается в следующем:

      SELECT  AgentId, StartTime, 
 EventTo =     dateadd(hh,datepart(hh,StartTime)+1,convert(datetime,convert(varchar,StartTime,112 ))),
 EndTime
 from [stage].[Agent]
 where  EndTime

Любые идеи относительно того, что является проблемой и как решить это...

1 ответ

Это обходной путь больше, чем ответ. Это существующая проблема с DbFit. См. https://github.com/dbfit/dbfit/issues/284 для получения более подробной информации.

Другие вопросы по тегам