2010-11-04 94 views
6

我有兩列,int和WinsLosses。我有一個計算列WinPercentage作爲decimal(14,3),我想這是:SQL Server計算列

WinPercentage = (Wins + Losses)/Wins 

什麼是語法是什麼?

+2

我認爲WinPercentage應該是100.0 * Wins /(Wins + Losses)。確保你使用100.0來避免整數運算。 – 2010-11-04 01:07:19

回答

7
CREATE TABLE WinLoss 
(
TeamId int IDENTITY(1,1) NOT NULL, 
Wins int, 
Losses int, 
WinPercentage AS CASE WHEN wins > 0 THEN (Wins + Losses)/Wins ELSE 0 END 
) 
+0

如果我只是把它放到列屬性工具箱中,我是否會在'AS' – Scott 2010-11-04 00:55:52

+1

@Scott後面放置所有東西....是的,我相信如此......我偏離了使用設計工具,因爲我當我輸入時可以看到更多的內容。但是,我相信你是對的。 – 2010-11-04 00:57:33

+2

您想要檢查勝利值,或者在選擇記錄時冒着被零錯誤除法的風險 - 插入工作正常。 – 2010-11-04 01:05:11