1. ホーム
  2. sql

[解決済み] 条件付きNOT NULLの場合 SQL

2022-03-11 06:55:44

質問

あるフィールドを計算しようとしていますが、カラムの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

この構文は正しいですか?

どのように解決するのですか?

が必要です。 when reply.replies IS NOT NULL

NULLはSQLでは特殊なケースであり、=や<>演算子で比較することはできません。代わりにIS NULLとIS NOT NULLが使われます。