sql-server - 检查 SQL MAX() 函数返回 null

标签 sql-server null max sqldatareader

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

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

提前致谢。

最佳答案

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

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

关于sql-server - 检查 SQL MAX() 函数返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24266148/

相关文章:

java - 尝试打印出 "best customer"谁花费的金额最多

mysql - 如何在 MYSQL 中对 2 个表使用 MAX 和 COUNT 函数

.net - SQL Server 2008 的免费架构导出?

sql - 设置日期是从 getdate() 的一年开始吗?

sql-server - 无法访问我通过 Visual Studio 创建的数据库?

variables - xsl string-join() 多个变量 - 只使用非空

F# 修剪空字符

ios - 对象自动设置为零

filter - Tableau - 度量最大值的过滤器维度

sql-server - 分区表错误,分区数量多于文件组数量