DBeaver-使用WHERE子句的奇怪行为

时间:2018-10-04 19:01:12

标签: sql sql-server dbeaver

在DBeaver中工作时,当我运行以下查询时,我得到了337条记录。

SELECT * 
FROM Prices_Combined

其中一个记录(该问题的重点)出现在结果中,并且AccountId为'7407-0000'。该记录的三列具有非零值; Field1,Field2和Field3。

现在有问题的孩子。当我运行以下查询时,我得到232条记录,但是结果中没有出现“ 7407-0000”记录。

SELECT *
FROM Prices_Combined
WHERE (NOT (Field1 = 0
    AND Field2 = 0
    AND Field3 = 0))

奇怪,但是更奇怪的是,当我运行以下查询时,我得到了记录:

SELECT *
FROM Prices_Combined
WHERE AccoundId = '7407-0000'
    AND (NOT (Field1 = 0
        AND Field2 = 0
        AND Field3 = 0))

盯着DBeaver试图弄清楚这一点之后,我尝试在Excel中运行查询,这是任务的最终结果。在Excel中,调用查询(带有条件但未指定帐户ID的查询)后,我获得了正确的结果,列表中出现了我的7407-0000记录,而零值记录未出现。由此,我认为DBeaver中的某些功能可能无法正常工作?我做错了什么吗?我已经尝试过在WHERE子句中使用的同一逻辑的各种不同版本,但是全部返回相同的错误结果。

0 个答案:

没有答案