最初のテイク、クラッジソリューション、センチネルアプローチ(プログラムでセンチネル値の入力を許可しないことが不可欠です):
select coalesce(a, -2147483648) = coalesce(b, -2147483648) as is_equal -- a little postgresism
プログラムでセンチネル値をブロックするのを忘れ、ユーザーが B フィールドに -2147483648 を入力し、A が null であるとします。上記のコードは true を報告し、false を報告する必要があり、true または null を報告すべきではありません。
null 許容フィールドの等価性を比較する最も簡潔な方法は何ですか? A == B は、フィールドが null 可能かどうかに関係なく、true または false のみを報告する必要があります。