哪种方法更好用:
BoundField.NullDisplayText
未设置。在SQL查询中预见到NULL-case,即SELECT ISNULL(amount, 0) FROM table
或
BoundField.NullDisplayText
,例如“0.00%”。在SQL查询中没有预见到NULL-case,即SELECT amount FROM table
您怎么看?
答案 0 :(得分:3)
显然是第一个,因为你用ISNULL过滤。
答案 1 :(得分:2)
我认为第二种选择更好。通常最好在中间层或表示层而不是数据库中格式化输出。因此,我希望将空值返回到数据层代码之上的层,并让它决定如何处理显示而不是在数据库中做出选择。
通过将空值转换为零,您将说明使用该查询的所有系统,null等于用户故意输入零。如果确实如此,那么很好,使用Coalesce而不是IsNull并将空值转换为零。但是,如果查询将被重用的可能性最小,并且缺少某个值可能与零的输入不同,我会将空值返回到中间层并让它决定如何处理它
答案 2 :(得分:1)
区别在于0.00表示该字段具有值,而NULL表示相反。因此,从数据健全的角度来看,前者是正确的。
答案 3 :(得分:1)
你能做到最好吗?