У меня есть таблица с SMALLINT столбец, содержащий проценты как целые числа (например, 50, 75, 85 и т.д.)Почему SQL Server завершает результаты деления двух целых чисел?
Когда я разделить эту колонку на 100, как в
SELECT MY_COLUMN/100 AS PCT_AS_FRACTION
FROM MY_TABLE
результат округляется до ближайшего целого числа. Например, для строки, содержащей число «50», я получаю нулевой результат.
я могу дублировать это с простым утверждением:
SELECT 50/100 AS TEST_VALUE
Почему это, и как я могу получить более высокую точность в мой результат?
Разделение на 100,0 работ.Простое объяснение простой проблемы. Спасибо :) – JosephStyons
Кстати, умножение на 0,01 имеет тот же эффект и, возможно, более очевидно. – JosephStyons
Конкретный термин «целочисленный» означает * усечение *. '75/100' по-прежнему возвращает' 0'. Определение состоит в том, чтобы просто удалить любую дробную часть из числа. – Rabid