質問

私はSQLを初めて使用しており、一連の列を使用して計算されたフィールドを作成しようとしています。ただし、これらの値の一部はヌルである場合があります。それらがnullの場合、計算されたフィールドがnull結果を返すことを望まないが、代わりに任意の値を設定したくない。

これが計算されたフィールドです

(ces.EXPERT_SCORE * cirm.CONSUMER_RATING) + (12.5 * scs.SIMILARITY)
役に立ちましたか?

解決

使用する IFNULL(tocheckwhat,withwhattoreplace) それで:

(IFNULL(ces.EXPERT_SCORE,5) * IFNULL(cirm.CONSUMER_RATING,5)) + (12.5 * IFNULL(scs.SIMILARITY,5))

動作するはずです! :)

他のヒント

Coalesceオペレーターを使用できます

(
 COALESCE(ces.EXPERT_SCORE, <YOUR_ARBIT_VALUE>) * 
 COALESCE(cirm.CONSUMER_RATING, <YOUR_ARBIT_VALUE>)
)
+ (12.5 * COALESCE(scs.SIMILARITY, <YOUR_ARBIT_VALUE>))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top