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

Откуда:
Сообщений: 62
Господа,

Есть два поля, оба int. Деля одно на другое, получаемое значение всегда меньше единицы и на выходе, соответственноя я получаю ноль. Необходмо же получать вывод в формате 00.00 в процентах.
Запрос ниже в случае дробного результата выводит правильно, в случае целого - без занков после точки. Т.е. Если Поле1=12, а Поле2 = 14, то вывод 85.71. Если же Поле1=3, Поле2=4, то вывод 75, а нужно 75.00.

Select Round(Cast(Поле1 as float)/Поле2*100, 2) as ЛАЛА

Как лучше сделать, или переводить без Round в Char и отбрасывать лишние символы справа, или можно как-то еще проще?

Спасибо
24 июл 09, 12:29    [7455815]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36801
Форматированием резльтатов должно заниматься клиентское приложение. Но если охота геморроя, то юзайте decimal.
24 июл 09, 12:32    [7455839]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Glory
Member

Откуда:
Сообщений: 104760
Select cast(3*100.00/4 as numeric(10,2)) as ЛАЛА
24 июл 09, 12:42    [7455908]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
SELECT STR(100.00*CAST(Поле1 AS DEC)/CAST(Поле2 AS DEC),18,2) FROM Таблица
?
24 июл 09, 12:43    [7455914]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить