問題1:左右值為null使用等號進行比較的情況
-- created on 2021/03/16 by kuroisheep
declare
i integer
; j integer
;begin
if i = j then
dbms_output.put_line(
'相等');
else
dbms_output.put_line(
'不相等');
endif
;end
;
期望結果:相等
實際執行結果:不相等
問題2:左邊或者右邊值為null使用不等號進行比較的情況
-- created on 2021/03/16 by kuroisheep
declare
i integer :=
123;
j integer
;begin
if i <> j then
dbms_output.put_line(
'不相等');
else
dbms_output.put_line(
'相等');
endif
;end
;
期望結果:不相等
實際執行結果:相等
解決方案
-- created on 2021/03/16 by kuroisheep
declare
i integer
; j integer :=
123;
begin
if i is
null
and j is
null
then
dbms_output.put_line(
'相等');
elsif i is
null
or j is
null
then
dbms_output.put_line(
'不相等');
elsif i = j then
dbms_output.put_line(
'相等');
else
dbms_output.put_line(
'不相等');
endif
;end
;
期望結果:不相等
實際執行結果:不相等
總結具體判斷還是需要根據實際情況來進行,例如當引數不允許為空時,先判斷引數為空直接return,然後再進行後續比較。
判斷儲存過程是否存在
庫是否存在 if exists select from master.sysdatabases wherename n 庫名 print exists else print not exists 判斷要建立的表名是否存在 if exists select from dbo.sysobjects wh...
ORACLE儲存過程判斷非法字元
呼叫方法 驗證非法字元 ismg fun issensitivity v arr if not ismg then v sendmsg 很好,你的資訊是正常的。else v sendmsg 對不起,您的資訊含有敏感字,請修改後再發!end if 中間過程 create or replace func...
oracle 判斷值中是否存在漢字
with x as select 2320 fd少df,sr from dual union all select sr from dual union all select heleo sr from dual union all select 年 sr from dual union all s...