to_char(<число>)

skelet
Дата: 03.12.2009 19:23:21
Собственно есть

SQL> select to_char(0.32) v from dual;

V
---
,32

SQL>

о очень хочется видеть 0,32 или 0.32

при этом параметр может быть и больше единицы, т.е. напр to_char(11.76, '0,99') не катит
skelet
Дата: 03.12.2009 19:27:23
skelet,

'90.99' тоже не катит, т.к. если работает только в пределах < 100
orawish
Дата: 03.12.2009 19:33:01
skelet,

вы про универсальный формат представления числа с десятичным разделителем?
нет такого. пользуйте ~ '99999999999999990d00'
skelet
Дата: 03.12.2009 19:54:30
orawish,

меня бы полностью устроило, если б он НИЧЕГО не делал при преобразовании...
т.е. оставил бы 0.32 плин...
skelet
Дата: 03.12.2009 19:57:26
orawish,

но спасибо хоть за такой формат )
Вячеслав Любомудров
Дата: 04.12.2009 03:20:31
skelet
orawish,

меня бы полностью устроило, если б он НИЧЕГО не делал при преобразовании...
т.е. оставил бы 0.32 плин...
Оставил где?
Вопросы отображения -- перрогатива клиента
Вячеслав Любомудров
Дата: 04.12.2009 03:35:36
Сорри, пропустил про to_char
Тогда, соответствующий максимальный формат, как показано
Но оно надо в to_char вести? Или клиент это что-то тупое типа sqlplus? Если самописное приложение, то и форматируй там средствами клиента
Elic
Дата: 04.12.2009 08:18:34
skelet
Дата: 04.12.2009 13:42:32
Вячеслав Любомудров,

там в принципе смысле в конкатенации числа и '%' , при этом число преобразовывается в строку и дохнет первый ноль 0.32 -> .32

вариант orawish в целом устраивает
Tohan_ORA
Дата: 04.12.2009 14:08:17
skelet
Собственно есть

SQL> select to_char(0.32) v from dual;

V
---
,32

SQL>

о очень хочется видеть 0,32 или 0.32

при этом параметр может быть и больше единицы, т.е. напр to_char(11.76, '0,99') не катит

:)Такая феня прокатит?
select to_char(a) ch1,
CASE 
WHEN a>0 AND a<1 THEN '0' 
WHEN a<0 AND a>-1  THEN '-0'
WHEN a<=-1 THEN '-' 
ELSE '' END 
||to_char(abs(a))ch2 from 
(
SELECT 1.01 AS a FROM dual UNION
SELECT 0.001 FROM dual UNION
SELECT 0.00 FROM dual UNION
SELECT 0.99 FROM dual UNION
SELECT -0.99 FROM dual UNION
SELECT -200 FROM dual UNION
SELECT -1. FROM dual UNION
SELECT 200 FROM dual 
)x