首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle 判断varchar2类型是不是为空'' ,用什么判断符解决办法

2012-01-22 
oracle 判断varchar2类型是不是为空,用什么判断符oracle 判断varchar2类型是不是为空,用什么判断符VV_

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的啊
[解决办法]
改为:

SQL code
VV_LIST:='DSSSFDFDSFDS'; IF(VV_LIST IS NULL)THEN         DBMS_OUTPUT.PUT_LINE('BBBBBBBBBBBBBBBBBBBBBBBB');            ELSE         DBMS_OUTPUT.PUT_LINE('PPPPPPPPPPPPPPPPP');      END IF;
[解决办法]
探讨
IS NULL
IS NOT NULL

可以赋值=NULL,
但在where条件中只能是IS (NOT)NULL

[解决办法]
你如果只是判断'',可以trim后,用length取长度
VV_LIST:='DSSSFDFDSFDS'; 
IF length(trim(VV_LIST)) > 0 THEN 
DBMS_OUTPUT.PUT_LINE('PPPPPPPPPPPPPPPPP');
ELSE 
DBMS_OUTPUT.PUT_LINE('BBBBBBBBBBBBBBBBBBBBBBBB');
END IF;
[解决办法]
Oracle中的空应该用的是null,非空就是not null
for example:
SQL code
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

热点排行