У меня проблема, я не могу исправить ошибку со скалярнозначной функцией. У меня есть следующая функция:Как округлить медианное значение
(@list varchar(max))
returns float
as
begin
declare @Median float
select @Median = (
convert(float,(SELECT MAX(value) FROM
(SELECT TOP 50 PERCENT value from split(@list,',') order by value) BottomHalf))
+
convert(float,(SELECT MIN(value) FROM
(SELECT TOP 50 PERCENT value from split(@list,',') order by value DESC) TopHalf))
)/2
option (maxrecursion 0)
return (ROUND (@Median ,2))
end
В ответ я получаю, например: 1,155. Когда я добавляю возврат (ROUND (1.155 ,2))
Я получаю 1.15, но мне нужно 1.16. Я стараюсь добавить ROUND(CAST (1.155 AS float),2)
, но это мне не помогло
Чтобы быть понятным, этот 'select ROUND (1.155,2)' дает вам '1.15'? снова проверьте –
Да, в результате у меня есть 1.15, но мне нужно 1.166 – Yura
Можете ли вы попробовать это? 'select ROUND (1.155,2,0)' –