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

Откуда:
Сообщений: 47
Добрый день, есть число , например 8.36000, а нужно выводить 8.36, то есть без нулей, сколько бы их не было
14 сен 18, 09:24    [21674365]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
tru55
Member

Откуда: СПб
Сообщений: 19712
Куда выводить, с пом. какой программы?

PS
В числе нет ни ведущих, ни заключительных нулей, нули есть только в строке.
14 сен 18, 09:27    [21674366]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Maska321
Member

Откуда:
Сообщений: 47
tru55,
это нужно для sql, нули после запятой и все , но может быть число 8.36000 или 0.01000, поэтому TRUNC не подойдет , удалить нули нужно только последние
14 сен 18, 09:34    [21674370]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
maverick2104
Member

Откуда:
Сообщений: 220
Maska321,

substr
14 сен 18, 09:34    [21674372]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 17819
Тогда уж [L|R]TRIM
Но, как уже сказали -- у числа лидирующих/завершающих нулей нет
14 сен 18, 09:40    [21674375]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Dshedoo
Member

Откуда:
Сообщений: 214
rtrim
14 сен 18, 09:40    [21674377]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Maska321
Member

Откуда:
Сообщений: 47
Вячеслав Любомудров,
к сожалению не получится, так как числа меняются и соответственно количество цифр так же
14 сен 18, 09:45    [21674383]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
anvano
Member

Откуда: Москва
Сообщений: 970
Maska321
Вячеслав Любомудров,
к сожалению не получится, так как числа меняются и соответственно количество цифр так же


Какая для RTRIM разница сколько там всего цифр и, в частности, сколько там в конце нулей будет ?
14 сен 18, 10:00    [21674398]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
MaximaXXL
Member

Откуда: Киев
Сообщений: 581
anvano,

если числа будут без точки rtrim его повредит
14 сен 18, 10:07    [21674408]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
MaximaXXL
Member

Откуда: Киев
Сообщений: 581
Maska321,

round(to_number(...),2) - если это стринг
14 сен 18, 10:09    [21674412]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Danil_Kurd
Member

Откуда:
Сообщений: 2
Maska321,

SQL> select '1.02030000'*1 as xnumber from dual;

XNUMBER
----------
1.0203
14 сен 18, 10:23    [21674425]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1271
Maska321,

  1  select to_char(000.3600,'TM') ch from dual union all
  2* select to_char(000.3600,'FM9999.9999999') ch from dual
SQL> /

CH
----------------------------------------------------------------
,36
.36


....
stax
14 сен 18, 10:26    [21674428]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Maska321
Member

Откуда:
Сообщений: 47
Stax, нужно чтобы первый ноль был, т.е не ,27 а 0,27
14 сен 18, 11:36    [21674525]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Alibek B.
Member

Откуда:
Сообщений: 2793
Тогда нужно почитать про строку формата и сделать так, как требуется.
14 сен 18, 11:48    [21674538]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 6285
Maska321
Stax, нужно чтобы первый ноль был, т.е не ,27 а 0,27

Oracle Doumentation: Database SQL Language Reference
Number Format Models
14 сен 18, 12:01    [21674559]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Danil_Kurd
Member

Откуда:
Сообщений: 2
Maska321
Stax, нужно чтобы первый ноль был, т.е не ,27 а 0,27


Вариантов несколько:

1. Подойти спросить у Ивана
2. Еще раз перечитать Грабера, только внимательно
14 сен 18, 12:06    [21674565]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
MaximaXXL
Member

Откуда: Киев
Сообщений: 581
Maska321,

Вы прям реально утверждаете что это число? Тогда вообще ничего не делайте :)

with t as (select 001.3600 ch from dual union all
           select 000.3600 ch from dual)
           
select * from t


CH1
1.36
0.36
14 сен 18, 12:19    [21674592]     Ответить | Цитировать Сообщить модератору
 Re: Обрезать число  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 1271
Maska321,

  1  select to_char(000.3600,'TM') ch from dual union all
  2* select to_char(000.3600,'FM9990.9999999') ch from dual
SQL> /

CH
----------------------------------------------------------------
,36
0.36

....
stax
14 сен 18, 14:44    [21674782]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить