2015-01-12 67 views
0

所以要INT,這一點:牛逼SQL鑄造默認

select ceiling(5/4) 

是不一樣的:

select ceiling(1.25) 

分數計算結果爲1,小數計算結果爲2。這似乎令人難以置信對我來說很愚蠢。我怎樣才能讓SSMS打得好?

+2

恆定的數據類型的規則[這裏](http://msdn.microsoft.com/en-us/庫/ ms179899.aspx)。您可以使用'CAST'或'CONVERT'來更改表達式的數據類型。請注意,由於[數據類型優先順序](http://msdn.microsoft.com/zh-cn/library/ms190309.aspx)的規則,如果任一值爲「float」,則表達式將是「浮動」,例如'5/4.0'。 – HABO

回答

1

5和4是隱式輸入的。你可以把它們寫爲5.0和4.0,而不是,如:

select ceiling(5.0/4.0) 

結果:2

+0

這是非常不直觀的,但它的工作原理,謝謝。 –