その理由は、SQL仕様によると、Foo IN(A,B,C) ( Foo = A Or Foo = B Or Foo = C )に変換されます 。したがって、Foo In(Null, 1, 2)がある場合 Foo = Null Or Foo = 1 Or Foo = 2を取得します 。 Foo = Nullなので 常にUNKNOWN Falseに評価されます フィルタリングの目的で、IN式のNullは結果を返しません。
その理由は、SQL仕様によると、Foo IN(A,B,C) ( Foo = A Or Foo = B Or Foo = C )に変換されます 。したがって、Foo In(Null, 1, 2)がある場合 Foo = Null Or Foo = 1 Or Foo = 2を取得します 。 Foo = Nullなので 常にUNKNOWN Falseに評価されます フィルタリングの目的で、IN式のNullは結果を返しません。