Есть таблица newtable с одной колонкой c1 тип numeric(20,6)
Мне нужно вернуть результат отформатированный следующим образом - вместо 0 пробел, остальные числа округлены до сотых, незначащие нули убраны.
Пока есть такой запрос
select
case
when c1 = 0 then ''
else c1::numeric(20,2)::text
end result
from newtable
И этот запрос возвращает мне все в правильном виде, кроме того что возвращаются незначащие 0.
я хочу получить 24, а не 24,00.
Возможно ли это используя средства форматирования postgres, и если возможно то как?
UPD. Есть такой вариант, но он просто обрезает 2 нуля. Поэтому для 300 я получу результат 3 вместо ожидаемых 300
select
case
when c1 = 0 then ''
else trim(trailing '.00' from c1::numeric(16,2)::text)
end result
from newtable