我有一個簡單的表有一個整數列:如何獲得Round()的第二個參數以使用列?
# setup table:
create table t(x int); insert t select 1;
查詢select round(1.234, 1) from t
回報1.2
預期。
但是,select round(1.234, x) from t
返回1.2000
。 (它應該返回1.2
,作爲per the docs。)
這是一個錯誤? (測試版5.5.10
和latest 5.6.24
。)
或者,有沒有什麼特別的技術之所以列不能在round
第二個參數一起使用?
我們怎樣才能讓round
工作即使有第二個參數中使用的列?
對於評估事物的順序,mysql似乎有些隨意。試試這個:'select if(@z:= sum(5),@z,'wtf');' –
它工作在SQL小提琴http://sqlfiddle.com/#!9/22e0e/1。 –
@ThorstenKettner,不適用於官方MySQL社區服務器。 ([mysql-5.6.24-win32.zip,mysql-5.6.24-winx64.zip](https://dev.mysql.com/downloads/mysql#files-ga)) – Pacerier