[英]Check null value in MS Access Query
在 SQL Server 中,我们可以使用 IsNull() 函数来检查表达式值是否为空。 例如。
Select IsNull(sum(amount),0) as TotalAmount
From Payments
同样,MS Access Query 中是否有任何功能可以检查空值? 我需要在 MS Access Query 中执行相同的语句。
有人能告诉我 MS Access 中IsNull()
的替代品吗?
使用 Jet/ACE,您的查询可以重写为:
SELECT IIf(Sum(amount) Is Null, 0, Sum(amount)) AS TotalAmount
FROM Payments
这甚至可以从 C# 工作,因为Is Null
和IIf
都内置于 Jet/ACE。 请注意Is Null
的空格和缺少括号(它是一个语句,而不是一个函数)。
与Nz
相比,使用IIf
和Is Null
有两个额外的IIf
,即使您可以使用Nz
:
Nz
返回一个 Variant,Jet/ACE 被迫将结果显示为字符串(这在处理日期、数字等时通常不是你想要的) 更新: Allen Browne 有一本关于IIf
、 Nz
、 IsNull()
和Is Null
使用的优秀入门书。 我打算将该链接作为我的原始答案发布,但当时我找不到该页面。 我从记忆中尽力了,但真正的功劳归功于布朗先生。
同样,也可以在排序时用于日期和时间
.....ORDER BY TRANSDATE ASC,(IIf([PaymentTime] Is Null, '23:59:59', [PaymentTime])) DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.