2015-03-13 88 views
2

今天發現了這一代遺留代碼。想知道它的使用是否有一些奇怪和美妙的含義。我懷疑它,但認爲在我刪除它的用法之前值得檢查。在計算中使用負​​零(-0)的sql select語句

select ... 
    Amount = isnull(ARTL.Amount, 0) - 0, 
    Retainage = isnull(ARTL.Retainage, 0) - 0, 
    DiscOffered = ARTL.DiscOffered - 0, 
from tables ... 

所有這三個領域是數字和結果將是:

variable=null  0 - 0 = 0 
variable=0  0 - 0 = 0 
variable=-number -number - 0 = -number 
variable=+number +number - 0 = +number 
+0

在那裏,在那裏,有沒有涉及FLOAT?並不是說我知道用FLOAT做這件事的原因,但我可以想象當時可能有一個原因。 – 2015-03-13 11:06:26

+0

我敢打賭,在一個點上是用來強制隱式演員或他們認爲會。 – Paparazzi 2015-03-13 12:13:07

+0

謝謝你們,是的,我一直這麼想。代碼可以追溯到1999年,真正的狗狗早餐的變化。 – 2015-03-13 12:57:21

回答

0

我敢打賭,在一個點上被用於強制隱式轉換或者他們認爲這將