条件表达式中的数据类型不匹配

时间:2013-10-10 10:15:01

标签: sql ms-access

这应该很简单!我有一个包含3个数字字段的大表。我想根据这3个字段计算一个值。然后只返回该值<1的记录(比方说)。麻烦的是,如果我只使用一个表达式,则计算过于复杂。 为了更容易解释,让我们假设我想要的计算是:

fieldx^2 + fieldy^2 + fieldz^2

所以我创建了一个子查询,将计算分成3个字段。 一个是expr1: fieldx^2,一个是expr2:fieldy ^ 2,expr3是fieldz ^ 2。然后我创建expr4,它是expr1 + expr2 + expr3。然后我在另一个查询中使用此子查询,它工作正常,我可以看到字段expr4已正确计算。 所以我现在尝试只选择使用

的expr4&lt; 1的记录

select * from subquery where expr4 <1

我收到错误“条件表达式中的数据类型不匹配”。奇怪的是,当我尝试选择expr1,2或3时,它运行正常。

1 个答案:

答案 0 :(得分:-1)

可能有一些空值,请尝试

where nz(expr4, 1) <1