Oracle中的 null 和空字符串

在书写 Oracle 存储过程当中,进行空值 null 和空字符串“”的判断经常会产生困惑。数据库

当传入的参数为“”空字符串时,笔者按照下面的代码进行判断,则 Oracle 报错post

if i_create_emp == '' then

若是改为下面代码,则会正常运行code

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
相关文章
相关标签/搜索