检查SQL MAX()函数返回null

use*_*811 2 sql-server null sqldatareader max

我的问题是如果我的表是空的或我使用max函数的列没有我指定的值,那么为什么sqlDataReader.hasRows为TRUE?

它给出了一个空记录...我该如何解决这个问题?

提前致谢.

小智 5

像MAX()这样的聚合函数将始终每组返回一行.在您的情况下,您的组是整个表.因此,您获得具有MAX值的一行结果集.由于表中没有数据,因此MAX值未定义,因此为NULL.

为了更好地理解,尝试用COUNT替换MAX.这也会返回一行,但值为0.我认为这更直观,可以帮助您更好地了解正在发生的事情.