簡體   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