私は完全なDB抽象化ライブラリを使用しておらず、psycopg2で次のような生のSQLテンプレートを使用しています:
SELECT id FROM table WHERE message = %(message)s ;
意図した結果を取得するための理想的なクエリは次のようになります。
SELECT id FROM table WHERE message = 'a3cbb207' ;
SELECT id FROM table WHERE message IS NULL ;
残念ながら...明らかな問題は、私のNULL比較が次のようになることです:
SELECT id FROM table WHERE message = NULL ;
...これは正しい比較ではなく、意図した結果セットが得られません。
私の実際のクエリは、上の図よりもはるかに複雑であるため、簡単に変更することはできません。(これが正しい解決策です。同意します。現在、緊急の修正を探しています)
誰かが回避策を知っているので、適切な修正が行われるまで同じ単一のテンプレートを使用し続けることができますか? 私は仕事をしたり、仕事をしcoalesce
たりしようとcast
していましたが、私の試みで打ちのめされました.