我有一些我试图理解的 SQL 语句(由其他人编写)。在此 SQL 中,它计算“重量”,如下所示。
ISNULL(NULLIF(CASE WHEN ISNULL(m.Override,0) = 1
THEN m.OverWeight
ELSE ISNULL(itemWeight.Weight,groupWeight.Weight) END,0),5) AS Weight
现在我必须在 ASP.net 中使用这个逻辑。因为我是 C#、ASP.net 和 SQL 的新手,所以我在努力。到目前为止,我已经完成了以下操作。
//Calculate weight
bool override = DataConversion.GetBoolean(row["Override"]);
decimal overWeight = DataConversion.GetDecimal(row["OverWeight"]);
decimal itemWeight = DataConversion.GetDecimal(row["ItemWeight"]);
decimal groupWeight = DataConversion.GetDecimal(row["GroupWeight"]);
decimal weight= override? DataConversion.GetDecimal(row["OverWeight"]): 5;
var par = new par(
Id: DataConversion.GetInt(row["MaterialId"]),
weight: weight
);
我面临的问题是:如何ELSE ISNULL(itemWeight.Weight,groupWeight.Weight
在条件语句中使用?即decimal weight= override?DataConversion.GetDecimal(row["OverWeight"]): 5;
。