Tôi đang cố gắng tính toán một trường và tôi muốn nó hoạt động khác nhau tùy thuộc vào việc một trong các cột có phải là rỗng hay không. Tôi đang sử dụng MySQLTrường hợp NOT NULL có điều kiện 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
Đây có phải là cú pháp đúng không?
Chắc chắn nó có thể được so sánh sử dụng '=', '<' and '<>'. Kết quả của phép so sánh là 'NULL'. Đồng ý rằng logic boolean ba giá trị không dành cho tất cả mọi người, nhưng bạn không thể nói 'nó không thể được so sánh'. –
trong khi điều này cho thấy làm thế nào để sử dụng CASE, mã trong câu hỏi thậm chí không cần một trường hợp – RichardTheKiwi