在书写 Oracle 存储过程中,进行空值 null 和空字符串“”的判断常常会产生困惑。
当传入的参数为“”空字符串时,笔者按照下面的代码进行判断,则 Oracle 报错
if i_create_emp == '' then
如果改成下面代码,则会正常运行
if i_create_emp is null then
原来,如果是“”空字符串,Oracle 会将之默认转为空值 null ,因此,在进行空字符串“”判断时,应用is null 来进行。
但是,如果在进行数据库修改操作时,当传入的 i_post_code 为空字符串“”时,以下代码存入到数据库中的值为“”
set post_code = i_post_code
如果需要存入 null 值,则应写为
set post_code = null