我有一个名为Amount的数据库表字段,其类型为数字(38,8),在sqlplus中,我将列格式化为“COLUMN Amount FORMAT 999999999999999999999999.99999”,但在写入csv时,我们总是试用零。 例如,如果数字是9.23,那么结果将是9.2300
例如,如果number为9,则结果为9.0000
如何删除尾随零。
请帮帮我..
答案 0 :(得分:1)
您可以使用to_char
和格式代码TM
执行此操作(请参阅documentation)
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
编辑:
用
SELECT round(to_char(column, 'TM'), 5) FROM table;
您可以将结果限制为5位小数。
SELECT to_char(round(123.654321000, 5), 'TM') FROM dual; -- returns 123.65432
答案 1 :(得分:0)
TO_NUMBER函数还会删除小数点后的零。
例如:1.4500至1.45、1.9000至1.9等
样品查询:
{{1}}
答案 2 :(得分:-1)
试试这个。
select rtrim(rtrim(to_char(column_name), 0 ), '.' ) from table_name;