Oracle 判断varchar2类型是不是为空"" ,用什么判断符
VV_LIST:="DSSSFDFDSFDS";
IF(VV_LIST <>"")THEN
DBMS_OUTPUT.PUT_LINE("PPPPPPPPPPPPPPPPP");
ELSE
DBMS_OUTPUT.PUT_LINE("BBBBBBBBBBBBBBBBBBBBBBBB");
END IF;
结果却打印了BBBBBBBBBBBBBBBBBBBBBBBB
IF ("" IS NULL) THEN
dbms_output.put_line(""""" is null");
END IF;
输出:"" is null
这说明,在oracle pl/sql里,把""当成null处理了
Oracle中的空应该用的是null,非空就是not null
for example:
- SQL code
- SQL> set serveroutput on SQL> 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 null PL/SQL procedure successfully completed.
- SQL code
- SQL> set serveroutput on SQL> declare 2 str varchar(20):="helloworld"; 3 begin 4 if str is not null 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 not null PL/SQL procedure successfully completed.
所以可以这么做:
select
st.koyu_zaisan_no
,st.koyu_zaisan_edaban
,st.shutoku_nendo --?異動年度
,st.shutokubi --?異動日
,st.kaikei
,"会計名" --?
,st.shukanka --?
,"KANJYO_KAMOKU_MEISHO" --?
,"金額"
,"err_no" --?
,"err_naiyo" --?
,"0" csv_type --?
from SHISAN_TAB st
where trim(nvl(st.chiku_cd,"")) || "A" ="A"
or trim(nvl(st.chimoku,"")) || "B" ="B"
Oracle错误 ORA-01950 对表空间“system”无权限Oracle中对象表,ref及deref 对象表的使用相关资讯 Oracle基础教程
- Oracle块编程返回结果集详解 (11/10/2013 10:45:58)
- Oracle基础教程之设置系统全局区 (08/22/2013 14:24:00)
- Oracle基础教程知识点总结 (06/18/2013 07:43:32)
| - Oracle基础教程之tkprof程序详解 (10/22/2013 11:49:50)
- Oracle基础教程之sqlplus汉字乱码 (07/18/2013 16:30:00)
- Oracle 管理之 Linux 网络基础 (02/16/2013 18:37:35)
|
本文评论 查看全部评论 (0)