Oracle没有查询结果,返回0

如题所述

具体要看查询的SQL文。如果SQL文是SELECT COUNT(*) FROM 表;的话,没有结果确实是返回0。但是如果SQL文是SELECT * FROM 表;的话,没有结果返回的是null。追问

是第二种

我想没查询到结果集能默认给个0

追答

DECLARE
COUNT_RESULT NUMBER(2);
CURSOR CUR IS
SELECT * FROM 表;
CUR_SELECT CUR;
BEGIN
SELECT COUNT(*) FROM 表 INTO COUNT_RESULT;
IF COUNT_RESULT > 0 THEN
OPEN CUR;
FETCH CUR INTO CUR_SELECT;
CLOSE CUR;
ENDIF;
END;

追问

写了个函数呀

追答

嗯。COUNT(*)和检出字段不对称。一个SQL文不好写。

追问

哦哦,谢谢

温馨提示:内容为网友见解,仅供参考
无其他回答

oracle数据库 查不到数据则显示零
你可以是空记录,但如果本身字段就无任何值,连null都没有,那就根本无法返回值 至少你该条记录有个序号之类的 select nvl(a.qty,0) from table a where a.no='12345,但你可以写存储过程,当无法查找到记录时返回值

你解决了吗? ---ORACLE中,如果没有查询到符合条件的纪录,怎么做到SUM结...
select nvl(sum(id),0) from table_name where conditions;nvl(arg1,arg2) 如果第一个值为空则返回第二个参数,否则返回第一个参数

sql 查询时有空值返回0怎么写
方法一:select isnull(字段名,0) from 表名;字符型:select isnull(mycol,'0') as newid from mytable整型:select isnull(mycol,0) as newid from mytable 方法二:case ??endcase when columnName is null then 0 else columnName end mysql 将空值返回0用如下语句:select ifnull(字段名,0)...

java调用oracle存储过程无法获得正确的返回值,每次都是0
你通过JDBC这种方式调用存储过程,应该使用 CallableStatement 类, CallableStatement cs=conn.prepareCall(str);补充一句,避免你在执行有错,cs.excuse();这个方法为执行,然后在获取输出参数。另外写输出参数的类型时,直Types.类型即可,不用带包。

Oracle条件查询,如果不符合条件,需要返回值为0
insert into t values (2,3,4); insert into t values (3,4,5);commit;执行:select t1.rn id,nvl(t2.class,0) class,nvl(t2.name,0) name from(select rownum -1 rn from dual connect by rownum<=1000) t1left join t t2 on t1.rn=t2.id where t1.rn=4;结果:这个意思?

我今天装了oracle客户端和plsql,现在不管查询什么结果都是显示为空...
数据库应该是连接上了。执行有返回,不然下面不会有 DONE in 0.062 seconds字样。有两种可能:1、你的表没有列。2、你plsql安装的有问题, 没有展示。建议在命令窗口下执行看看有没有返回列。

Oracle 无查询结果显示
select a.col1,nvl2(b.col1,1,0) from 表A a left join 表B b on a.col1=b.col1 where a.col1=日期;以上。

oracle:::SELECT instr('syran mo','a',1,2) FROM dual; -- 返回 0...
--instr 函数 --INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) --INSTR('syran mo', 'a', 1, 2)--就是在字符串'syran mo'中查找字符串'a',从字符串'syran mo'第1个位置开始查找--找到第2个匹配'a'的位置--如果没找到匹配的就返回0SELECT INSTR('syran mo', 'a', 1,...

oracle 当检索记录为空时,如何使用NVL函数
否则返回string1的值,如果两个参数都为NULL ,则返回NULL。注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。举例:要将comm字段中为空的显示成0,用如下语句:select empno,ename,job,mgr,hiredate,sal,nvl(comm,0) comm,deptno from emp;结果:...

在数据库中查询一条不存在的语句,返回“对不起,没有……”
SQL语句查询一般只是返回查询的结果列,没找到对应条件记录时,返回的是一个空结果集,至于要显示“对不起,没有……”,那你就应该在程序代码中进行判断了

相似回答