У меня есть следующая хранимая процедура:TSQL хранимой процедуры: Если другое заявление в хранимой процедуре возвращать 1, если расчетное значение больше чем 1
@Beginn Datetime,
@End Datetime
as
Begin
select DATE,
IF((((SUM(ScheduleTime*(OkParts/100))/ SUM(PLannedTime)))) >1) then 1 else (((SUM(ScheduleTime*(OkParts/100))/ SUM(PLannedTime)))
from Rawdata where PartNo>0 and DATE> @Beginn and DATE< @End
Group by DATE
Order by DATE DESC
End
Однако процедура выдает ошибку.
Рассчитанное значение означает процентное значение. Из-за неправильного ввода пользователя в редких случаях значение может достигать 250%, поэтому я хочу вернуть 1 (логически значение может быть только 100%), иначе просто верните вычисленное значение. Я еще не нашел функцию, которая устанавливает абсолютный потолок для значения, возвращаемого хранимой процедурой.
Сменить IF на CASE –