В SQL Server 2005 Express результат ниже
ВЫБЕРИТЕ 100 / 15 --Результат 6
Но я хочу получить приблизительное значение 7 (например, с помощью калькулятора)
100 / 15 = 6.6666..
Как это сделать в SQL Server?
В SQL Server 2005 Express результат ниже
ВЫБЕРИТЕ 100 / 15 --Результат 6
Но я хочу получить приблизительное значение 7 (например, с помощью калькулятора)
100 / 15 = 6.6666..
Как это сделать в SQL Server?
Вы должны использовать десятичные числа, например. 100/15,0. Если вы используете целые числа, результат интерпретируется как целое число и усекается до наибольшего целого числа, которое меньше или равно результату.
SELECT cast (100 как число с плавающей запятой) / (15 как число с плавающей запятой)
Вы хотите, чтобы SQL Server выполнял деление с плавающей запятой, а не целочисленное деление. Если вы используете литеральные значения, как в вашем примере, добавьте к знаменателю суффикс .0
, чтобы заставить SQL Server рассматривать его как значение с плавающей запятой.
SELECT 100 / 15.0
В противном случае убедитесь, что вы объявили свои переменные как FLOAT
.
Попробуйте объявить переменные как числа с плавающей запятой:
DECLARE @var1 FLOAT
DECLARE @var2 FLOAT
SET @var1 = 100
SET @var2 = 15
SELECT @var1 / @var2