mysql - 如何检查带有 max、count 等 sql 函数的查询返回 NULL?

标签 mysql sql null max

我如何检查使用 max() 等 sql 函数的查询是否返回 NULL? 这是我的代码:

$query = mysql_query("SELECT MAX(priority) FROM categories") or die('sel_pri:'.mysql_error());

    if(mysql_num_rows($query) > 0)
            $max_pri = mysql_result($query, 0) or die('priority:'.mysql_error());
    else
        $max_pri = 0;

我的类别表是 epmty,所以 mysql_num_rows() 将返回 1,因为此查询将返回 1 行 NULL 值。上面的代码“死了”! 我也试过:

if(empty($query))   
if(isset($query))
if(is_null($query))

但以上都不起作用。

最佳答案

在您的情况下,您还可以使用 coalesce 在 SQL 中提供默认值,它返回第一个非空参数:

SELECT COALESCE(MAX(priority), 0) FROM categories

关于mysql - 如何检查带有 max、count 等 sql 函数的查询返回 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15840892/

相关文章:

mysql - 计算和限制每个字段值的行数不起作用

mysql - 选择从上个月开始的所有行

sql - 找不到适用于 H2 和 Postgres 的通用 SQL

java - 套接字客户端断开连接时无限循环

sql - 可以在 Spark sql 中使用合并与数据透视/计数来将空值映射到零吗?

javascript - 是否有将 "undefined"更改为 "null"的 JavaScript 习语?

mysql - 具有多个连接的慢 MySQL 查询

mysql - SQL:从列中提取特定文本到新列中

mysql - 错误代码 : 1822. 添加外键约束失败。引用表 'ekdromes_ibfk_1' 中缺少约束 'pwlhseis' 的索引

MYSQL - 使用 GROUP BY 时获取最新结果