【发布时间】:2020-01-02 14:44:21
【问题描述】:
我正在使用 IF 条件来检查 2 个值是否相等。在一种情况下,我使用的所有值都是 NULL,但它无法识别它们是否相等。
IF training_event_rec_.training_fee = course_rec_.course_fee AND training_event_rec_.training_fee_unit = course_rec_.course_fee_unit AND training_event_rec_.currency = course_rec_.currency AND training_evaluation_temp_ = course_evaluation_temp_ THEN
RETURN FALSE;
ELSE
RETURN TRUE;
END IF;
在这里,所有比较的变量都是 NULL,但它总是命中 ELSE 部分。 在这种情况下如何比较值。
【问题讨论】:
-
null != null是 SQL 的公理。这就是为什么测试总是采用 ELSE 分支。