oracle的to_char之後,為什麼變成了####____oracle

來源:互聯網
上載者:User

t.money;是下圖的左邊列

 to_char(round(t.money, 2), '0.00');是下圖的右邊列




這要拆開來看,round(t.money,2)的意思是,將t.money“小數點後二位”進行四捨五入。


to_char(XX,'0.00')是將XX按照0.00模板的格式進行輸出。


那麼0.00是什麼模板呢。這就要看to_char函數的使用了:

======to_char轉換數字時,模板的意思:

這是官方說明:


寫的真是垃圾,讓人不知所謂。


我的理解,只要記住如下即可:

1)0:如果該位沒有值,則預設補0;

2)9:如果該位沒有值,也不補0;


3)模板值中設定多少位,最終的結果就顯示多少位,即模板的格式就決定了結果的輸出格式。

如to_char(50.355,'99.00')     結果:50.34


如to_char(500.355,'99.00')  結果:錯誤,因為模板為99.00,即到十位,而500.355超過了模板的位元。









聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.