0

我有一种情况,我将位数据类型传递给 COALESCE。然后设置 that = 0 来检查它是否等于 0。问题是,这不起作用!

(请注意,我无权更改任何列的数据类型)

这就是我所拥有的:

SELECT Meters.ID, Consumption, Charge
    FROM Data (nolock)
    JOIN Meters
        ON Data.MeterID = Meters.ID

    WHERE COALESCE(Processed, 0) = 0

Processed 背后的想法是,如果处理的数据比它应该为 1,那么我不想再次处理它们。

//Processed 是数据表中的一列,它是位类型。我的联接是 100% 正确的,因为我在没有 Where 的情况下运行它们并且执行没有问题,问题是当我在哪里添加时!即使该 Processed 列具有 1、0、NULL 值....它不返回任何内容!有人可以提出解决方案吗?谢谢你。

4

1 回答 1

0
where processed is null or processed = 0

是逻辑等价表达式,我不知道为什么 COALESCE 不起作用

于 2013-08-05T23:24:12.243 回答