2014-08-27 2 views

ответ

4

Try:

SELECT CEILING (@a/CAST(@b AS float)) 

И считают NULLIF(@b,0) тоже, чтобы избежать деления на ноль ошибок.

4

После деления 9 на 2 десятичную фракцию Усеченный его целой части - 4, а не Rounded до 5. Попытка:

SELECT 9/2 

Resilt равен 4. Тогда CEILING(4) = 4

К получить следующее целое число объявить переменные как типы данных, которые могут обрабатывать десятичную часть: NUMERIC, FLOAT, REAL.

+0

Право, объявив, что поплавок будет возвращен 5 –

3

SQL Server выполняет целочисленное деление. Итак, 9/2 = 4 в SQL Server.

Взятие потолка целого числа является одним и тем же целым числом.

+0

Хорошо, но мои входы для Хранимой процедуры являются целыми: (тогда как мне получить 5? –

Смежные вопросы