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

Откуда:
Сообщений: 1574
при запросе
select substr((1/rate),1,7) rate from exchangeratehist where ccy_from='KZT' and ccy_to='USD' and as_of_date=to_date('28-DEC-06') 

получаю курс
127,749

но мне нужно, получить число 127,75 - т.е 2 знака после "," и с округлением

вот я делаю
select [b]round(substr((1/rate),1,7),0) [/b]rate from exchangeratehist where ccy_from='KZT' and ccy_to='USD' and as_of_date=to_date('28-DEC-06') 

но выдает - 128
10 янв 07, 08:07    [3618973]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобраться-запрос  [new]
Dimka9
Member

Откуда: Владивосток
Сообщений: 1851
> select round(1.766,2) from dual;

ROUND(1.766,2)
--------------
1,77

> select round(1.766,0) from dual;

ROUND(1.766,0)
--------------
2
10 янв 07, 08:13    [3618986]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобраться-запрос  [new]
zirex
Member

Откуда:
Сообщений: 714
with tab as (
  select 1.441 as X from dual
  union all 
  select 1.445 as X from dual
  union all 
  select 1.449 as X from dual
)
select round(x, 2) as round, trunc(x, 2) as trunc0, round(x + .005, 2) as trunc1 from tab 

ROUND                  TRUNC0                 TRUNC1                 
---------------------- ---------------------- ---------------------- 
1.44                   1.44                   1.45                   
1.45                   1.44                   1.45                   
1.45                   1.44                   1.45                   

3 rows selected
10 янв 07, 09:16    [3619162]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить