Как убрать конечные нули после десятичных точек из числового столбца в sqlplus? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть одно поле таблицы базы данных с именем Amount, тип которого является числом (38,8), и в sqlplus я отформатировал столбец как «COLUMN Amount FORMAT 999999999999999999999999.99999», но при записи в csv мы всегда получаем триальные нули.Например, если число равно 9,23, результат будет 9,2300

Например, если число равно 9, результат будет 9,0000

Как удалить конечные нули.

Пожалуйста, помогите мне..

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Вы можете сделать это с помощью to_char и кода формата TM (см. документация )

SELECT to_char(column, 'TM') FROM table;

примеры:

SELECT to_char(9.2300, 'TM') FROM dual; -- returns 9.23
SELECT to_char(9.0000, 'TM') FROM dual; -- returns 9
SELECT to_char(100, 'TM') FROM dual;    -- returns 100
SELECT to_char(010, 'TM') FROM dual;    -- returns 10

edit:

С помощью

SELECT round(to_char(column, 'TM'), 5) FROM table;

вы можете ограничить свой результат до 5 десятичных знаков.

SELECT to_char(round(123.654321000, 5), 'TM') FROM dual; -- returns 123.65432
0 голосов
/ 24 мая 2018

Попробуйте это.

select rtrim(rtrim(to_char(column_name), 0 ), '.' ) from table_name;
...