You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access查询如何筛选两列非空有效邮箱并合并为单列输出

解决方法

报错原因

类型冲突报错的原因是MS Access中NULL值无法直接参与字符串匹配运算,当字段为NULL时执行NOT LIKE 'EMPTY'这类字符串对比操作会触发类型不匹配错误。

正确查询逻辑

你需要的过滤规则是排除两个字段均为无效值(NULL或'EMPTY')的行,保留至少有一个字段有效的行,可以用Access内置的Nz()函数把NULL值统一替换为'EMPTY'后再做判断,从根源避免类型冲突。

完整SQL语句如下:

SELECT 
  IIf(Nz([Issued Email], 'EMPTY') <> 'EMPTY', [Issued Email], [Email]) AS [Filtered Email]
FROM TableA
WHERE 
  Nz([Issued Email], 'EMPTY') <> 'EMPTY' 
  OR 
  Nz([Email], 'EMPTY') <> 'EMPTY'

逻辑说明

  • Nz([字段名], 'EMPTY'):将字段的NULL值统一替换为字符串'EMPTY',把两种无效值的判断逻辑合并,避免NULL参与字符串运算的问题
  • WHERE条件:只要两个字段中有一个不是'EMPTY'(即存在有效值)就保留该行
  • SELECT子句中的IIf判断:优先取[Issued Email]的有效值,[Issued Email]无效时取[Email]的有效值,合并输出为统一的邮箱列

内容的提问来源于stack exchange,提问作者SHA-256

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:54:05