我想計算一個字段,並且我希望它的行爲有所不同,具體取決於其中一列是否爲空。我正在使用MySQL有條件的非空案例SQL
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
這是正確的語法嗎?
當然也可以使用'=',''<' and '<>進行比較。比較的結果是'NULL'。同意三值布爾邏輯不適合每個人,但你不能說'不能比較'。 –
雖然這顯示瞭如何使用CASE,但有問題的代碼甚至不需要一個case – RichardTheKiwi