可以:
if a is null then 
..........

解决方案 »

  1.   

    IF a IS NULL THEN
      ...
    END IF;
      

  2.   

    没错,is null 或not is null
      

  3.   

    is NULL 或用nvl()进行转化
      

  4.   

    在oracle中函数中,外部输入参数a为'',函数内部需要在a=''时将a赋予特定的值,但oracle中似乎无法判断a是否等于''。IF a IS NULL THEN
     A部分
    END IF;
     B部分经过测试没有进入A部分。不能使用 NULL 进行判断。
      

  5.   

    14:46:35 jlanzpa817>declare
    14:46:45   2  a varchar2(10);
    14:46:45   3  begin
    14:46:45   4  a:= '';
    14:46:45   5  IF a IS NULL THEN
    14:46:45   6     dbms_output.put_line('NULL');
    14:46:45   7  else
    14:46:45   8     dbms_output.put_line('not NULL');  
    14:46:45   9  END IF;
    14:46:45  10  end;
    14:46:46  11  /
    NULLPL/SQL 过程已成功完成。已用时间:  00: 00: 00.20
      

  6.   

    你的a是CHAR型吧,改成VARCHAR2试试!
      

  7.   

    is null判断没有问题啊,
    SQL> SET SERVEROUTPUT ON;
    SQL>  declare
      2   a varchar2(10):='';
      3  begin
      4  if a is null then
      5  DBMS_OUTPUT.PUT_LINE('a is null;');
      6  end if;
      7  end;
      8  /
    a is null;PL/SQL 过程已成功完成。
      

  8.   

    没问题的是:a is null。如果你用client端的工具测试,在工具提示你输入的参数值中千万不要输入'',这样client工具会认为你传入的参数是''字符,而不是空字符串