Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Обрезание дробной части результата деления целых чисел  [new]
9IKOB
Member

Откуда: Тамбов
Сообщений: 249
Доброго времени суток!

Обнаружил пренеприятнейший факт: из результата деления целого числа на другое целое в запросе удаляется дробная часть. Как это можно побороть?
Например, в результате выполнения кода
SELECT 5/7 AS Result1
я хочу видеть результат 0,7142857142857143, а не ноль!
21 мар 16, 11:33    [18957957]     Ответить | Цитировать Сообщить модератору
 Re: Обрезание дробной части результата деления целых чисел  [new]
Konst_One
Member

Откуда:
Сообщений: 11677
задайте правильные типы данных
21 мар 16, 11:34    [18957969]     Ответить | Цитировать Сообщить модератору
 Re: Обрезание дробной части результата деления целых чисел  [new]
Glory
Member

Откуда:
Сообщений: 104751
9IKOB
я хочу видеть результат 0,7142857142857143, а не ноль!

Тогда делимое или делитель должны быть не int
21 мар 16, 11:35    [18957974]     Ответить | Цитировать Сообщить модератору
 Re: Обрезание дробной части результата деления целых чисел  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2428
9IKOB,

SELECT 5/7. AS Result1
21 мар 16, 11:35    [18957980]     Ответить | Цитировать Сообщить модератору
 Re: Обрезание дробной части результата деления целых чисел  [new]
Konst_One
Member

Откуда:
Сообщений: 11677
declare @v1 decimal(18,16) = 5.0;
declare @v2 decimal(18,16) = 7.0;

SELECT convert(decimal(18,16), @v1/@v2) as Result
21 мар 16, 11:38    [18958005]     Ответить | Цитировать Сообщить модератору
 Re: Обрезание дробной части результата деления целых чисел  [new]
9IKOB
Member

Откуда: Тамбов
Сообщений: 249
Благодарю за ответы. Проблема решена.
21 мар 16, 11:40    [18958024]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить