oracle 判断varchar2类型是不是为空'' ,用什么判断符
oracle 判断varchar2类型是不是为空'' ,用什么判断符
VV_LIST:='DSSSFDFDSFDS';
IF(VV_LIST <>'')THEN
DBMS_OUTPUT.PUT_LINE('PPPPPPPPPPPPPPPPP');
ELSE
DBMS_OUTPUT.PUT_LINE('BBBBBBBBBBBBBBBBBBBBBBBB');
END IF;
结果却打印了BBBBBBBBBBBBBBBBBBBBBBBB
[解决办法]
is null
''和null不一样的
[解决办法]
不过你这个应该是输出pppp的啊
[解决办法]
改为:
VV_LIST:='DSSSFDFDSFDS'; IF(VV_LIST IS NULL)THEN DBMS_OUTPUT.PUT_LINE('BBBBBBBBBBBBBBBBBBBBBBBB'); ELSE DBMS_OUTPUT.PUT_LINE('PPPPPPPPPPPPPPPPP'); END IF;
[解决办法]
SQL> set serveroutput onSQL> declare 2 str varchar(20):='helloworld'; 3 begin 4 if str<>'' then 5 dbms_output.put_line('is not null'); 6 else 7 dbms_output.put_line('is null'); 8 end if; 9 end; 10 /is nullPL/SQL procedure successfully completed.
[解决办法]
oracle 判断varchar2类型是不是为空'' ,用什么判断符
VV_LIST:='DSSSFDFDSFDS';
IF(VV_LIST <>'')THEN
DBMS_OUTPUT.PUT_LINE('PPPPPPPPPPPPPPPPP');
ELSE
DBMS_OUTPUT.PUT_LINE('BBBBBBBBBBBBBBBBBBBBBBBB');
END IF;
结果却打印了BBBBBBBBBBBBBBBBBBBBBBBB
这个一定输出的是 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
因为''是null
任何非空变量和null比较的结果都是不成立的
所以走else