/ / Python psycopg2 SQLモジュールで自動的に=およびISを設定-postgresql、python-3.x、psycopg2

自動的に=とISをPythonで設定するpsycopg2 sqlモジュール - postgresql、python-3.x、psycopg2

私はpsycopg2を使用してPythonでこのスニペットを持っています:

spam = None
command = sql.SQL("= {}").format(sql.Literal(spam))

コマンドを変更すると「= NULL」が得られますが、SQLクエリに含めると結果が得られません。クエリを実行するには「IS NULL」が必要なためです。

(スパムが「なし」ではなく、たとえば「eggs」の場合、「=「eggs」」はクエリに対して正常に機能します。)

次の引数がNoneかどうかに応じて、mogrifiedコマンドで「IS」と「=」を自動的に切り替える方法はありますか?

ありがとう!

回答:

回答№1は1

いいえ、でも使えます is distinct from の代わりに = 比較にヌルを含めるため。

https://www.postgresql.org/docs/current/static/functions-comparison.html