将 null/empty 个字段转换为另一个字段的值
Converting null/empty fields to the value from another field
在 MS Access 2010 数据库中,SomeTable
有两个名为 Field1
和 Field2
的字段。实际数据总是包含 Field1
的值,但通常缺少 Field2
的值。 Field1
和 Field2
都是文本数据类型。
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;
在 MS Access 2010 数据库中,SomeTable
有两个名为 Field1
和 Field2
的字段。实际数据总是包含 Field1
的值,但通常缺少 Field2
的值。 Field1
和 Field2
都是文本数据类型。
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;