下面是我未檢查錯誤值的現有SQL代碼(sql server)。如果月份和年份值匹配,它只是計算總和列和平均值列。如何修改我的代碼,以設置sum/avg爲負數,如果任何一個值爲負數
SELECT ur.Domain, SUM(ur.DataUsageInBytes) as SumDataUsageInBytes,
AVG(ur.DiskUsageInBytes) as AvgDiskUsageInBytes
FROM UsageResults ur
WHERE (ur.Year = @year) AND (ur.Month = @month)
GROUP BY [Domain]
我要添加邏輯,如果任何ur.DataUsageInBytes值(給定的月/年)爲負我想設置的和說的-99,否則我就計算正常總和。平均值也是一樣。
如果遇到錯誤並且無法確定其值,則正在讀取的表條目將具有負值。
怎麼可能'DataUsageInBytes'永遠是負面的?當然它只能是0或更多?磁盤使用情況也一樣? – Oded 2013-04-03 18:47:57
@Oded Op表示如果出現錯誤並且實際值無法確定,那麼這些列將具有負數 – Lamak 2013-04-03 18:49:40
當Min(ur.DataUsageInBytes)<0時的情況下,則爲-99 else Sum(ur.DataUsageInBytes )結束? – HABO 2013-04-03 18:50:04