将 null/empty 个字段转换为另一个字段的值

Converting null/empty fields to the value from another field

在 MS Access 2010 数据库中,SomeTable 有两个名为 Field1Field2 的字段。实际数据总是包含 Field1 的值,但通常缺少 Field2 的值。 Field1Field2 都是文本数据类型。

SQL 语句需要什么特定语法 1.) 在 Field2 中查找 null/empty(例如“”)值,然后 2 .) 当且仅当 Field2 为空或 null?

时,将 Field1 中的值粘贴到 Field2

在 select 查询中,您将使用 nz() 函数:

select nz(field2, field1)

您也可以在更新中使用此功能,但您不需要它:

update table t
    set field2 = field1
    where field2 is null;

如果 Field2 可能同时包含 Null 和零长度字符串 (''),并且您希望对这两种情况一视同仁,请使用表达式 Len(Field2 & '') = 0

然后您可以将其用作 SELECT 查询中 IIf() 表达式的条件:

SELECT IIf(Len(Field2 & '') = 0, Field1, Field2)

或者对于 UPDATE 查询,只需将其放在 WHERE 子句中:

UPDATE SomeTable
SET Field2 = Field1
WHERE Len(Field2 & '') = 0;