我在Oracle數據庫中調試某個過程時,遇到了令我感到意外的有關NULL值的問題。任何人都可以解釋爲什麼下面的查詢在這裏爲非等式檢查返回false?爲什麼null <>「something」返回false
DECLARE
vNullVariable VARCHAR2(2) := NULL;
vVariable VARCHAR2(2) := 'Hi';
BEGIN
IF vNullVariable <> vVariable THEN
dbms_output.put_line('The variables are not equal');
ELSE
dbms_output.put_line('The variables are equal');
END IF;
END;
是否有這個工作的標準方法?我並不總是期望值爲NULL,但是我希望執行IF塊中的代碼。 我唯一能想到的就是添加類似(vNullVariable IS NULL和vVariable IS NOT NULL)和(.reverse。)AND(<>)。 –
您可以這樣做,或者在我的更新中執行= check而不是<>檢查。 –
非常感謝! –