私は自分自身のようなクエリを書く見つけるしばしばので、他人にnullを空になっている列を/比較することはできません知っている:これは、私はいつもそれをやった方法ですが、私は興味比較している列にヌル/空の値がある場合は、常にWHEREで合体を使用する必要がありますか?
WHERE field2 <> '' AND coalesce(field1, '') <> coalesce(field2, '')
null /空の値を処理するためのより良い方法があれば。また、私はなぜNULL <comparison operator> anything
is UNKNOWN
の最初の場所に興味があります。
http://www.w3schools.com/sql/sql_isnull.asp –
'フィールド2 <> '' ANDフィールド1のIS DISTINCT FROM field2'(DISTINCT FROMはpostgres拡張です) – wildplasser
COALESCEは、値を持たない値ではなく、値を比較することを容易にします。 3VLの理由は、https://www.simple-talk.com/sql/learn-sql-server/sql-and-the-snare-of-three-valued-logic/とhttps://en.wikipediaを参照してください。 .org/wiki/Null_(SQL)を使用して、背景のビットを作成します。 – reaanb