2010-05-05 51 views
2

可有人請轉換此訪問SQL功能對我來說,在T-SQL工作2005年轉換功能從訪問SQL到T-SQL 2005

我特林採取的銷售價格減去成本,因爲一個號碼。和除以原銷售價格產生第二號

謝謝:)

=IIf([Selling Price]=0,0,([Selling Price]-Nz([Cost]))/[Selling Price]) 

IIRC它應該是沿東西線;

ISNULL((ISNULL([Selling Price],0) - ISNULL(Cost,0)),0)/ISNULL([Selling Price],0) AS Margin 

但是在這裏我得到一個除零錯誤。

有什麼建議嗎?

回答

2
SELECT 
    CASE 
     WHEN ISNULL([Selling Price],0) = 0 THEN 0 
     ELSE ([Selling Price] - ISNULL([Cost],0))/[Selling Price] 
    END AS fieldName 
FROM TableName 
+0

。非常感謝。我認爲這是第一個。歡呼其他人:) – CaRDiaK 2010-05-05 11:22:02

+0

這不是第一次;)但不錯,但無論如何。 – 2010-05-05 11:24:25

+0

當[銷售價格]是零然後0 - 讀一點好 – Andrew 2010-05-05 12:28:48

1
CASE 
    WHEN ISNULL([Selling Price], 0) = 0 THEN 0 
    ELSE ([Selling Price] - ISNULL([Cost], 0))/[Selling Price] 
END 
+0

最多投票作爲其非常好,公認最優雅,易於理解謝謝:) – CaRDiaK 2010-05-05 11:22:32