我在MS SQL中劃分了一些整數x & y,我想結果是浮點形式。 5/2應該等於2.5。當我只是做SQL類型鑄造
SELECT 5/2
我得到2,這並不讓我驚訝,因爲它是從兩個整數創建一個int。我知道我可以強迫它做一個浮動做:
SELECT CAST(5 AS FLOAT)/CAST(2 AS FLOAT);
但這似乎是矯枉過正。我發現我可以很容易地(和更可讀取)通過使用
SELECT (0.0+5)/2;
我猜,這僅僅是某種隱含的類型轉換的得到同樣的結果?有什麼理由,哪種方法更好/更糟?
如果你使用文字(而不是變量),那麼你也可以使用5.0/2.0。我的猜測是你做了0.0+,因爲5實際上是你的代碼中的一個變量或列,但只是想我會提到它。 – 2010-07-27 20:32:02
或者如果你只想要2位小數,乘以100,所以你的客戶端應用程序看到250. – PostMan 2010-07-27 20:41:57
是的,它實際上是變量。謝謝! – loneboat 2010-07-27 20:42:00