繁体   English   中英

如何从sqlplus中的数字列中删除小数点后的尾随零?

[英]How to remove trailing zeros after decimal points from number column in sqlplus?

我有一个名为 Amount 的数据库表字段,其类型为 number(38,8),在 sqlplus 中,我将列格式化为“COLUMN Amount FORMAT 999999999999999999999999.99999”,但是在写入 csv 时,我们总是尝试使用零。 例如,如果数字是 9.23 那么结果将是 9.2300

例如,如果数字是 9,那么结果将是 9.0000

如何删除尾随零。

请帮我..

您可以使用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

编辑:

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

您可以将结果限制为小数点后 5 位。

SELECT to_char(round(123.654321000, 5), 'TM') FROM dual; -- returns 123.65432

TO_NUMBER 函数还会删除小数点后的零。

例如:1.4500 到 1.45、1.9000 到 1.9 等。

示例查询:

SELECT TO_NUMBER(column_name) FROM table_name;

尝试这个。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM