У меня есть таблица, содержащая последнюю дату/время выполнения конкретной функции. В моей хранимой процедуре я хочу вернуть 1, если текущая дата/время больше, чем в часе езды от последнего раза, когда она была запущена, и 0, если она меньше. В настоящее время у меня есть следующее:Округление DateDiff в SQL Server
IF((SELECT TOP 1 DATEDIFF(HH,LastRunDateTime,GETDATE()) FROM myTable) >= 1)
BEGIN
-- run statement to update LastRunDateTime
return 1;
END
ELSE
return 0;
END
Как работает округление с DateDiff?
Есть ли лучший способ вернуть только 1, если прошло больше часа?
Здесь может быть более высокая производительность, и это более интуитивно понятно – 2010-12-07 20:23:40