SQL 空语句在 MS Access 中不起作用
SQL Null statement not working MS Access
所以我不太确定这里发生了什么,但在我的数据库中我有一个 table,它有 1000 条记录,其中 36 条 [workername] 为空。我试图 运行 这个 SQL 到 select 要分配的未分配的空 [workername] 记录,但是当我将代码置于查询设计和查看模式时没有填充任何内容。我真的不知道为什么这不起作用。
strSQL = "SELECT IntakeID,
caseid,
[Program],
[language]
FROM Intake
WHERE workername Is Null"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
该查询看起来有效,所以我会质疑该列是否实际上为空。
您可以尝试以下方法确定
SELECT
IntakeID,
caseid,
[Program],
[language] ,
ISNULL(workername)
FROM Intake
ORDER BY ISNULL(workername) ASC
试试这个代码。首先,它会使用 Nz
将空值替换为 ''
,如果不为空,它将 trim 值以确保没有 space 并检查它是否等于 ''
意味着空..希望它会帮助
"SELECT IntakeID,
caseid,
[Program],
[language]
FROM
Intake WHERE LTRIM(RTRIM(Nz(workername, ''))) = ''"
所以我不太确定这里发生了什么,但在我的数据库中我有一个 table,它有 1000 条记录,其中 36 条 [workername] 为空。我试图 运行 这个 SQL 到 select 要分配的未分配的空 [workername] 记录,但是当我将代码置于查询设计和查看模式时没有填充任何内容。我真的不知道为什么这不起作用。
strSQL = "SELECT IntakeID,
caseid,
[Program],
[language]
FROM Intake
WHERE workername Is Null"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
该查询看起来有效,所以我会质疑该列是否实际上为空。
您可以尝试以下方法确定
SELECT
IntakeID,
caseid,
[Program],
[language] ,
ISNULL(workername)
FROM Intake
ORDER BY ISNULL(workername) ASC
试试这个代码。首先,它会使用 Nz
将空值替换为 ''
,如果不为空,它将 trim 值以确保没有 space 并检查它是否等于 ''
意味着空..希望它会帮助
"SELECT IntakeID,
caseid,
[Program],
[language]
FROM
Intake WHERE LTRIM(RTRIM(Nz(workername, ''))) = ''"