下面是我未检查错误值的现有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