私はrawと呼ばれるPSQLデータベースを持ち、カラムの1つはオプションで、タイプはVARCHARです。値は 'Call'、 'Put'、Noneのいずれかです。SQLクエリ - なしでカラム値をフィルタリングする
オプションフィールドの値が 'Call'または 'Put'ではなく、Noneである行をすべて選択したいとします。私が実行した場合
curr.execute('SELECT * FROM holdings h WHERE option != \'Call\' AND option != \'Put\';')
何も
を返されません取得します:私はこのクエリを実行するとただし、
curr.execute('SELECT * FROM holdings h WHERE option != \'Call\';')
は、私が唯一のオプション値を持つそれらの行を取得する=
'入れ'設定の違いを行わずに、オプションとして[なし]を使用して行を取得する方法を教えてください。理想的には、「通話」と「通話」以外の行を選択することができます。「通話」と「通話」の違いを呼び出すことなく呼び出すことができます。
ありがとう!
はい実際のフィールドはNoneです。データベースを作成していたときは、 'Put'と 'Call'が値ではない場合、デフォルト値としてNoneを入れました – user3628240
代わりに値としてnullを入れるべきですか? – user3628240
'!='の代わりに['is distinct from'](https://wiki.postgresql.org/wiki/Is_distinct_from)を使用することを検討してください – Abelisto