2016-09-20 361 views
-1

剛剛開始與oracle一起使用toad ide工作。試圖以特定格式從表中格式化數字。數字來自表中的一個變量,我想將整個數字顯示爲整數,並將浮點數顯示爲浮點數。到目前爲止,我可以使用trim(TO_CHAR(width,'999.999'))來顯示帶有小數點的所有數字。oracle plsql如何檢查數字是否有小數點

對於如:123.5將顯示爲123.500和100將顯示爲100.000

我想要做的是顯示瞭如:100 100

希望這是明確的,我得到一個解決方案不久。

在此先感謝

+0

我建議標籤與「蛤蟆」你的問題,並刪除「PL/SQL」。 –

+0

無論您是否使用'TO_CHAR(...)'表達式,TOAD根據您的PC的本地設置顯示數字和日期。您必須在Windows的「區域和語言」設置中設置此項。 –

回答

1

如果你的問題是關於蟾蜍的方式顯示的數字,你可以按照註釋的提示。

如果問題是有關甲骨文公司的顯示數字,將它們轉換爲字符串的方式,也許這可以幫助:

SQL> select to_char(1.5, 'TM9') as num from dual union all 
    2 select to_char(100, 'TM9') from dual; 

NUM 
---------------------------------------------------------------- 
1,5 
100 

您發現documentation

更多,如果你需要一種方法來檢查許多是否有小數部分或沒有,你可以簡單地嘗試:

SQL> with numbers(num) as (
    2  select 1.5 from dual union all 
    3  select 100 from dual 
    4  ) 
    5 select case 
    6   when floor(num) = num 
    7    then to_char(num, 'FM999999') || ' has not a decimal part' 
    8   else 
    9    to_char(num, 'FM9999D000') || ' has a decimal part' 
10   end as checkString 
11 from numbers; 

CHECKSTRING 
------------------------------ 
1,500 has a decimal part 
100 has not a decimal part 
+0

嘿,我知道這是做分離變量的方法。我有一個表中的值列表,需要根據值顯示不同的值。例如:該列表具有各種值,例如100,110.5,240.2。所以我想要做的就是將100作爲100來顯示,但是像110.500和240.200這樣的小數點的值。 – Ash

+0

剛剛編輯過來給你展示一種方式。 – Aleksej

+0

嘿人,我試着執行你給蟾蜍編輯器,它給了我這個錯誤ORA-32033:不支持列別名,它突出了第一行 – Ash