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

Откуда:
Сообщений: 18
у меня с помощью SELECT-а делается выборка, где маленькое целое число одного столбца делится на большое целое число другого столбца (получается около 1/200) и в результате на экран выводится 0. Как можно сделать так, чтобы вывелось число 0.005?
28 мар 12, 12:25    [12326181]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
c1be
у меня с помощью SELECT-а делается выборка, где маленькое целое число одного столбца делится на большое целое число другого столбца (получается около 1/200) и в результате на экран выводится 0. Как можно сделать так, чтобы вывелось число 0.005?
преобразовать один из операндов в нецелый тип.
Попробовать неявное преобразование: 3./600
28 мар 12, 12:29    [12326224]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
c1be, тут дело не в формате, а в том что при делении двух целых чисел результат тоже приводится к целому типу, то есть округляется и на самом деле получается ноль
28 мар 12, 12:32    [12326257]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
c1be
Member

Откуда:
Сообщений: 18
Ясно, спасибо
28 мар 12, 13:01    [12326515]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
pf
Member

Откуда:
Сообщений: 549
c1be,
SELECT {fn CONVERT(1/200,SQL_DECIMAL)}
28 мар 12, 13:04    [12326543]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
pf
c1be,
SELECT {fn CONVERT(1/200,SQL_DECIMAL)}
Это слишком лаконично!

Хотя, ноль возвращает всё так же исправно!
28 мар 12, 13:08    [12326588]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
Коля77
Member

Откуда:
Сообщений: 84
select cast(1 as float) /200  
28 мар 12, 18:23    [12329412]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
1./200

точка ! :)
29 мар 12, 12:44    [12332778]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
LSV, да какая точка, у автора же столбцы. cast ему в decimal
29 мар 12, 12:52    [12332851]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
select 100/101
Guest
Shakill
c1be, тут дело не в формате, а в том что при делении двух целых чисел результат тоже приводится к целому типу, то есть округляется и на самом деле получается ноль

на самом деле не округляется, а отбрасывается дробная часть.


автор
select 100/101
29 мар 12, 13:04    [12332962]     Ответить | Цитировать Сообщить модератору
 Re: формат у SELECT  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
select 100/101
Shakill
c1be, тут дело не в формате, а в том что при делении двух целых чисел результат тоже приводится к целому типу, то есть округляется и на самом деле получается ноль

на самом деле не округляется, а отбрасывается дробная часть.


автор
select 100/101
Округляется до целого в сторону 0 (есть и такое правило округления! .
Shakill же не говорил о способе округления!
29 мар 12, 13:09    [12333022]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить