在MS Access 2010数据库中,SomeTable
有两个名为Field1
和Field2
的字段。实际数据始终包含Field1
的值,但Field2
通常缺少值。 Field1
和Field2
都有文本数据类型。
SQL语句需要什么特定语法,以便1.)在Field2
中查找null / empty(例如"")值然后2.)粘贴当且仅当Field1
为空或为空时,Field2
的值为Field2
答案 0 :(得分:3)
如果 Field2 可能同时包含Null和零长度字符串(''
),并且您希望这两种情况都处理相同,则使用表达式Len(Field2 & '') = 0
来定位它们。
然后,您可以将其用作IIf()
查询中SELECT
表达式中的条件:
SELECT IIf(Len(Field2 & '') = 0, Field1, Field2)
或者对于UPDATE
查询,只需将其放在WHERE
子句中:
UPDATE SomeTable
SET Field2 = Field1
WHERE Len(Field2 & '') = 0;
答案 1 :(得分:2)
在选择查询中,您将使用nz()
函数:
select nz(field2, field1)
您也可以在更新中使用此功能,但您不需要它:
update table t
set field2 = field1
where field2 is null;