每當我想舍入小數點後兩位時,它不需要舍入零... 我怎樣才能將它舍入到小數點後兩位;會給我92.00,而不是隻有92?四捨五入到SQL中的2位小數
SELECT ROUND(COLUMN_NAME,2) FROM ....
它給我
COLUMN_NAME
92
,但我想
COLUMN_NAME
92.00
我用TO_CHAR和它的工作
ROUND(TO_CHAR(COLUMN_NAME),2)
謝謝你們!
每當我想舍入小數點後兩位時,它不需要舍入零... 我怎樣才能將它舍入到小數點後兩位;會給我92.00,而不是隻有92?四捨五入到SQL中的2位小數
SELECT ROUND(COLUMN_NAME,2) FROM ....
它給我
COLUMN_NAME
92
,但我想
COLUMN_NAME
92.00
我用TO_CHAR和它的工作
ROUND(TO_CHAR(COLUMN_NAME),2)
謝謝你們!
您可以嘗試TO_CHAR函數將結果轉換
例如
SELECT TO_CHAR(92, '99.99') AS RES FROM DUAL
SELECT TO_CHAR(92.258, '99.99') AS RES FROM DUAL
希望它可以幫助
此答案只允許在小數點左邊還有2位數字。在OP提供的具體例子中,只有兩位小數;然而,爲了使這個答案更爲廣泛適用,如果解決了小數點左邊的任何數字和恰好兩個右邊的數字,將會有所幫助。例如,如果數據包含123.456或1234567894.83748等 – kralco626
儘量避免在您的查詢格式。您應該以原始格式返回數據,並讓接收應用程序(例如報告服務或最終用戶應用程序)執行格式設置,即四捨五入等。
格式化服務器中的數據會使您難以(甚至不可能)進一步處理數據。您通常需要導出表或進行一些彙總,例如總和,平均值等。由於數字以字符串形式出現(varchar),因此通常沒有簡單的方法可以進一步處理它們。一些報告設計者甚至會拒絕提供彙總這些「數字」的選項。
此外,最終用戶將看到國家特定格式的服務器,而不是他自己的PC。
另外,考慮舍入問題。如果您將服務器中的值四捨五入,然後仍然進行一些計算(假設客戶端能夠將數字字符串還原爲數字),則最終會得到錯誤的結果。
COLUMN_NAME的數據類型是什麼? – IniTech
列的類型是什麼? –
COLUMN_NAME的數據類型必須爲float [(,)] ...... –