NVL(TRIM(l_Result), '银行') ='银行'
解决方案 »
- OCI能否在Define之前得到查询结果的行数result rows
- oracle锁的问题
- oracle 中sid与service_name
- oracle Database Configuration Assistant" 失败
- 有一千万张图片存数据库中行吗?
- oracle10g在linux下的 监听器(listener)问题 高分
- 在哪里设置oracle服务器的session的timeout值??
- 我安装oracle 9i的时候提示系统找不到IP地址
- 如何在实现对数据库的UNDO,REDO啊?
- 如何远和联接ORACLE数据服务器
- oracle客户端需加@orcl才能登录,不然提示12560 协议适配器错误
- 求解一递归查询语句
2 v_j varchar2(20);
3 begin
4 v_i:=null;
5 v_j:=' ';
6 if v_i is null then
7 dbms_output.put_line('v_i is null');
8 else
9 dbms_output.put_line('v_i is not null');
10 end if;
11
12 if v_j is null then
13 dbms_output.put_line('v_j is null');
14 else
15 dbms_output.put_line('v_j is not null');
16 end if;
17 end;
18 /
v_i is null
v_j is not null
看一下到底输出的是空值还是null.
''不能用等式来比较,只能使用is null& is not null
1楼的意思是该字段可能存在空格,因此用trim截掉,这个写法相当于l_Result is null or l_Result='银行' or I_result='若干空格'
可以简化代码
如果在sql语句中,不要这么写
2、楼主应该还应该确认的是返回为null还是根本没有查询到数据报错no_data_found。
你可以用NVL(x,value) 这个单行函数试一下
NVL(x,value) :如果x为空,返回value,否则返回x。