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

Откуда:
Сообщений: 2
Народ! Помогите разобраться почему происходит округление результата при делении.
Пример:


SELECT 20/30
результат: 0

SELECT CAST(20/30 AS float)
результат: 0

Что за дела?
21 май 12, 12:42    [12587720]     Ответить | Цитировать Сообщить модератору
 Re: Незапланированное округление результата  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
AVA40RUS
Народ! Помогите разобраться почему происходит округление результата при делении.
Пример:


SELECT 20/30
результат: 0

SELECT CAST(20/30 AS float)
результат: 0

Что за дела?
Потому что результат операции с двумя целыми числами будет тоже целым числом. Сервер не обязан угадывать тип данных за вас.
21 май 12, 12:43    [12587738]     Ответить | Цитировать Сообщить модератору
 Re: Незапланированное округление результата  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
SELECT 20/30.
21 май 12, 12:44    [12587748]     Ответить | Цитировать Сообщить модератору
 Re: Незапланированное округление результата  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
SELECT CAST(20 AS float) / 30
21 май 12, 12:44    [12587750]     Ответить | Цитировать Сообщить модератору
 Re: Незапланированное округление результата  [new]
AVA40RUS
Member

Откуда:
Сообщений: 2
И правда. Тема закрыта.
21 май 12, 12:45    [12587756]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить