在匿名塊中,我有一個空/空的輸入字符串,並希望檢查非空字符串。例如:Oracle - 如何判斷null和非空字符串?
DECLARE
v_notnull varchar2(50):='this string is never null';
v_input varchar2(50):='';
BEGIN
IF trim(v_input) != trim(v_notnull) THEN
dbms_output.put_line('the strings do NOT match');
ELSE
dbms_output.put_line('the strings DO match');
END IF;
END;
這裏的問題是,當我運行該塊,輸出總是'the strings DO match'
即使我輸入空字符串''
(又名空)爲v_input
這是不一樣的字符串'this string is never null'
。我怎樣才能確保oracle覆蓋空字符串的情況?當v_input
爲空時,我想輸出爲'the strings do NOT match'
。
的問題是,你的代碼甚至不會編譯,做自己意思是「輸出總是......」?您缺少聲明的varchar2變量的長度,這是一個致命錯誤。 – mathguy
好夥計....我在手機上打字。我已經解決了這個問題。 –
這可能是oracle如何處理空比較的最簡潔的參考之一:http://www.morganslibrary.org/reference/null.html –