使用 ISNULL 函数会引发错误

Posted

技术标签:

【中文标题】使用 ISNULL 函数会引发错误【英文标题】:Using ISNULL function is throwing an error 【发布时间】:2020-09-26 10:06:40 【问题描述】:

表格字段为,RollNo DataType 为 NumberClass DataType 为 ShortText

这是查询,

SELECT 
    ISNULL(MAX(RollNo), -1) AS Roll 
FROM 
    Students 
WHERE
    Class = "One"

当我运行这个查询时,我得到一个错误:

使用多值字段的无效操作或语法

如果该列为空,我想获得-1的值,否则RollNo的最大值与Class的where条件为One

【问题讨论】:

可以共享表结构吗 我已经在帖子中展示了表格结构。 【参考方案1】:

isnull() 返回一个布尔值。真的没用过,因为is null是标准,MS Access也支持。

认为您希望nz() -- 将空值替换为 -1:

select nz(max(rollno), -1)

如果你想在值为-1的情况下返回NULL,那么使用iif()

select iif(max(rollno) = -1, null, max(rollno))

【讨论】:

以上是关于使用 ISNULL 函数会引发错误的主要内容,如果未能解决你的问题,请参考以下文章

MySql 里的IFNULLNULLIF和ISNULL用法

isnull函数

DB2 SQL 中的 IsNull 函数?

ISNULL做简单的显示字段逻辑

为啥我在使用 isNull 时收到此错误消息

sql 中isnull函数的用法