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

Откуда:
Сообщений: 648
пишу запрос
select different,probel,probel/different from stopprod where different>0
получаю

автор
249 273 1
250 44 0
67 329 4
440 119 0
67 11 0
59 10 0


почему так?
в смысле почему результат целый а не дробный. ничего не понимаю, спасибо.
15 мар 06, 14:49    [2451250]     Ответить | Цитировать Сообщить модератору
 Re: 116/113=1 почему  [new]
Bestuzhev
Member

Откуда:
Сообщений: 648
вот так будет лучше выглядеть
автор
249 273 1
250 44 0
67 329 4
440 119 0
67 11 0
59 10 0
15 мар 06, 14:50    [2451264]     Ответить | Цитировать Сообщить модератору
 Re: 116/113=1 почему  [new]
Bestuzhev
Member

Откуда:
Сообщений: 648
че-то цитаты не работают, блин седня похоже я туплю. :(
15 мар 06, 14:52    [2451274]     Ответить | Цитировать Сообщить модератору
 Re: 116/113=1 почему  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

declare @i1 int,@i2 int
set @i1 = 4
set @i2 = 3
select @i1/@i2
go

declare @i1 int,@i2 int
set @i1 = 4
set @i2 = 3
select @i1*1./@i2
go

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

15 мар 06, 14:52    [2451279]     Ответить | Цитировать Сообщить модератору
 Re: 116/113=1 почему  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
BOL->Data Type Precedence

When two expressions of different data types are combined by an operator, the data type precedence rules specify which data type is converted to the other. The data type with the lower precedence is converted to the data type with the higher precedence. If the conversion is not a supported implicit conversion, an error is returned. When both operand expressions have the same data type, the result of the operation has that data type.

Используйте CAST.
15 мар 06, 14:53    [2451292]     Ответить | Цитировать Сообщить модератору
 Re: 116/113=1 почему  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Bestuzhev
в смысле почему результат целый а не дробный. ничего не понимаю, спасибо.
Потому, что оба числа интерпретируются как числа целого типа, и, следовательно, результат тоже будет приведен к целому типу.
15 мар 06, 14:54    [2451295]     Ответить | Цитировать Сообщить модератору
 Re: 116/113=1 почему  [new]
saint
Member

Откуда: Архангельск
Сообщений: 2262
в случае целых чисел берется частное. те число не округляется до целых, а транкейтится
15 мар 06, 15:00    [2451339]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить