2012-11-29 32 views
5

我想將我的值存儲爲FLOATS,但是當檢索它們時,用戶可以指定(並在運行時更改)小數點後他想要看到的數字。以給定的精度選擇FLOAT

我可以通過我的SELECT以某種方式通過嗎?還是必須在我的應用程序中執行該操作?

回答

8

是的,只需指定第二個參數爲ROUND()

SELECT ROUND(23.298, <precision>); 

有了這個,你可以指定你想獲得返回位數。 (你甚至可以有負值,在枯萎的情況下,輸入四捨五入到10 ( - 精確))。

或者你可以使用CASTDECIMAL

CAST(2.5 AS DECIMAL(20,2)) 

(注:後者將與文本輸入工作太像CAST('2.5' AS DECIMAL(20,2)),但在這種情況下,它是關於FLOAT輸入)

4

使用ROUND()CEIL()FLOOR()做同樣的事情,並獲得從用戶傳遞的第二個參數的值作爲輸入。

+0

+1,我完全忘記了CEIL和FLOOR! – ppeterka