解决方案 »
- ORACLE 添加 删除字段怎么弄?
- 请教个SQL查询问题,请帮忙,多谢了
- XP 系统无法安装oracle9i,在线等!!!!!!!!!!!(来者有分)
- select into的使用问题
- 如何删除用户?
- blob保存的图片没法正常显示,什么原因呢?
- 某表被删除这样的操作在Oracle中有没有记录,在哪里记录?请指教,谢谢!(在线等...)
- ADO中怎么得到select min(item) from table;的返回值
- 关于Oracle里的Procedure
- △▲△▲△Update语句中能否有From、Group By、Order By等子句 ?△▲△▲△
- order by 某字段,第N页和第N+1页的数据是一样的,这是怎么回事?
- Oracle更新的SQL语句
select DNAME from DEPT t where t.DEPTNO=70
union all
select '1' from dual
where not exists(select 1 from DEPT t where t.DEPTNO=70)
--楼主假如是在过程中用的话可以用块状编程处理好未找到数据的异常,捕获到异常后赋予其特定值,例如:
DECLARE
v_dname VARCHAR2(100);
BEGIN
SELECT DNAME INTO v_dname FROM DEPT t WHERE t.DEPTNO=70;
EXCEPTION
WHEN no_data_found THEN
v_dname := '未找到数据';
WHEN OTHERS THEN
v_dname := 'ERROR:' || SQLERRM;
END;
1楼正解,看楼主的想法是若查找不到数据就将null转化成1之类的,简单方便,二楼的方法不太实用,三楼用块状编程是不是弄复杂了。
另:
nvl(字段,‘x’)字段值等于null就这个函数得到的结果就是'x',一般用于存在空值比较的情况下,比如字段a与字段b都是int型,其中一个等于null另一个为非空值,你使用a<>b是不成立的,使用此条件查询你将丢失这条本来不相等的数据,可以如此用法nvl(字段,-1)<>nvl(字段,-1),这样就可以得到想要查询的数据,当然查询数据的前提是此字段值不能有-1值才能用这种写法