2016-09-17 4 views
2

У меня есть значение поля в оракулу, который должен манипулировать, как показано ниже для выводаЧисло форматирование в SQL

value*100 

Пример:

  • , если это 172.24 быть показан как 17224.0
  • , если это 13.4567 должно быть указано как 1345.67

Просьба предложить, как это должно обрабатываться в Oracle. Я попытался реализовать его с использованием дела, но это не сработало.

ответ

2

Try:

select to_char(value*100,'FM9999990.09') from data; 

Например (используя пункт with просто установить некоторые тестовые данные):

with data as 
(select 13.4567 value from dual 
union all 
select 13.456 value from dual 
union all 
select 13.45 value from dual 
) 
select to_char(value*100,'FM9999990.09') from data; 

1345.67 
1340.6 
1300.0 
+0

Hi Tony - Я попробовал это, это округляет мой второй пример до 1345.60. Моя проблема заключается в том, что после умножения числа на 100 это целое число, а затем добавьте .0 else, выберете значение как есть. – Tania

+1

Нет, это не так, вы должны делать это неправильно! –

+0

Как использовать данные в операторе select..didn't получите ваш пример – Tania

-1

Вы могли бы сделать this-

SELECT (value*100) "New value" 
FROM yourTable; 
+0

Время самоутверждения этого ответа - очевидно, вы не понимали проблемы оригинального плаката. (См. Другой ответ и обсуждение, и даже оригинальный вопрос, который был уже очень ясен.) – mathguy