フィールドを計算しようとしていますが、列の1つがnullの場合に応じて異なる動作をするようにしたいです。私はMySQLを使用しています
CASE
WHEN reply.replies <> NULL THEN
24/((UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(qcr.LAST_MOD_TIME)+3600)/3600)*(ces.EXPERT_SCORE+2.5*scs.SIMILARITY)*(EXP(-reply.replies))
ELSE 1
END as ANSWER_SCORE
これは正しい構文ですか?
ベストアンサー1
必要なのはwhen reply.replies IS NOT NULL
NULL は SQL の特殊なケースであり、= または <> 演算子と比較することはできません。代わりに IS NULL と IS NOT NULL が使用されます。