SQL Null 语句不起作用 MS Access
Posted
技术标签:
【中文标题】SQL Null 语句不起作用 MS Access【英文标题】:SQL Null statement not working MS Access 【发布时间】:2015-06-03 00:15:32 【问题描述】:所以我不太确定这里发生了什么,但在我的数据库中,我有一个包含 1000 条记录的表,其中 36 条 [workername] 为空。我试图运行此 SQL 来选择要分配的未分配的空 [workername] 记录,但是当我将代码置于查询设计和查看模式时,没有填充任何内容。我真的不知道为什么这不起作用。
strSQL = "SELECT IntakeID,
caseid,
[Program],
[language]
FROM Intake
WHERE workername Is Null"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
【问题讨论】:
检查字段是否包含空字符串:WHERE Len(workername) = 0
【参考方案1】:
试试这个代码..首先它将使用Nz
将空值替换为''
,如果不为空,它将修剪该值以确保没有空格并检查它是否等于''
表示空..希望它会有所帮助
"SELECT IntakeID,
caseid,
[Program],
[language]
FROM
Intake WHERE LTRIM(RTRIM(Nz(workername, ''))) = ''"
【讨论】:
每个人都应该投票赞成!!!我到处寻找这个问题,这是唯一有效的!【参考方案2】:该查询看起来有效,所以我会质疑该列是否实际上为空。
你可以试试下面的方法来确定
SELECT
IntakeID,
caseid,
[Program],
[language] ,
ISNULL(workername)
FROM Intake
ORDER BY ISNULL(workername) ASC
【讨论】:
出于某种奇怪的原因,Expr1:IsNull([workername])
但 workername 确实在下拉列表中作为一个选项,并且代码适用于 900 多个其他记录,所以这很奇怪。
你不只是喜欢 Access :)以上是关于SQL Null 语句不起作用 MS Access的主要内容,如果未能解决你的问题,请参考以下文章