0

ビット データ型を COALESCE に渡す状況があります。次に、= 0 を設定して、0 に等しいかどうかを確認します。問題は、それが機能していないことです!

(列のデータ型を変更する権限がないことに注意してください)

これは私が持っているものです:

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

    WHERE COALESCE(Processed, 0) = 0

Processed の背後にある考え方は、データが必要以上に処理された場合、再度処理したくないということです。

//Processed は、データ テーブル内のビット タイプの列です。私の Join は 100% 正しいので、Where なしで実行し、問題なく実行できます。問題は、その Where! を追加したときです。その Processed 列には1、0、NULL値がありますが....何も返されません! 誰でも解決策を提案できますか? ありがとうございました。

4

1 に答える 1

0
where processed is null or processed = 0

は論理的に同等の表現です。なぜ COALESCE が機能しないのかわかりません

于 2013-08-05T23:24:12.243 に答える