select-Oracle SUM函数问题 为什么会返回空行而不是空

问题描述

Oracle SUM函数问题 为什么会返回空行而不是空
SELECT SUM(SUPID) FROM XU WHERE SUPID=0 对这个SQL 来说如何在没有结果时不返回空行,只返回空?
现在是这样的

解决方案

一般都是null转换为空字符,null是不确定的类型,也就是说null!=null空字符是确定的就是一个空格或空值,所以"" ""=="" ""是true。你拿一个确定类型的值去转换成null是没有意义的。oracle本身就把空当做null了

解决方案二:
你判断一下结果 is not null,这样就可以只返回空,而不是空行了。

时间: 2024-08-25 11:55:01

select-Oracle SUM函数问题 为什么会返回空行而不是空的相关文章

oracle 管道函数bug-oracle 管道函数返回行,通过ROWNUM提取前20行报错

问题描述 oracle 管道函数返回行,通过ROWNUM提取前20行报错 各位:使用如下语句:SELECT * FROM TABLE(FUN_TEST('工单')) where ROWNUM<=2;当SELECT * FROM TABLE(FUN_TEST('工单')) 返回的行数>=2时,报ORA-06548:不再需要更多的行错误,但不加ROWNUM条件时则一切正常.那位大神碰到了这种情况?给小弟指一条明路.

oracle 自定义函数返回一个自定义整数列,如何在下一个自定义函数中,调用上一个函数

问题描述 oracle 自定义函数返回一个自定义整数列,如何在下一个自定义函数中,调用上一个函数 ---自定义类型 create or replace type t_int is table of integer -- Create table create table TESTFUNCTION ( oid INTEGER, result INTEGER ) tablespace USERS pctfree 10 initrans 1 maxtrans 255; -- Create table

oracle常用函数汇总

以下是对oracle中的常用函数进行了汇总介绍,需要的朋友可以过来参考下   一.运算符算术运算符:+ - * / 可以在select 语句中使用 连接运算符:|| select deptno|| dname from dept; 比较运算符:> >= = != < <= like between is null in 逻辑运算符:not and or 集合运算符: intersect ,union, union all, minus 要求:对应集合的列数和数据类型相同     

ORACLE 系统函数大全SQLSERVER系统函数的异同_数据库其它

字符函数 下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数. 函数 Oracle Microsoft SQL Server 把字符转换为ASCII :ASCII ASCII 字串连接: CONCAT --------------(expression + expression) 把ASCII转换为字符 CHR, CHAR 返回字符串中的开始字符(左起) INSTR ,---------------CHARINDEX 把字符转换为小写 LOWER -----

Oracle排名函数(Rank)实例详解_oracle

--已知:两种排名方式(分区和不分区):使用和不使用partition --两种计算方式(连续,不连续),对应函数:dense_rank,rank ·查询原始数据:学号,姓名,科目名,成绩 select * from t_score S_ID S_NAME SUB_NAME SCORE 1 张三 语文 80.00 2 李四 数学 80.00 1 张三 数学 0.00 2 李四 语文 50.00 3 张三丰 语文 10.00 3 张三丰 数学 3 张三丰 体育 120.00 4 杨过 JAVA 9

Oracle DECODE函数语法使用介绍_oracle

Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解. Oracle DECODE函数 Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的函数.它虽然不是SQL的标准,但对于性能非常有用.到目前,其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准.实际上,这种批评有些片面或不够水平.就象有些马车制造商抱怨亨利.福

oracle常用函数汇总(分享)_oracle

一.运算符算术运算符:+ - * / 可以在select 语句中使用连接运算符:|| select deptno|| dname from dept; 比较运算符:> >= = != < <= like between is null in逻辑运算符:not and or 集合运算符: intersect ,union, union all, minus 要求:对应集合的列数和数据类型相同     查询中不能包含long 列     列的标签是第一个集合的标签     使用orde

Oracle之函数索引

Oracle之函数索引 在Oracle中,有一类特殊的索引,称为函数索引(Function-Based Indexes,FBI),它基于对表中列进行计算后的结果创建索引.函数索引在不修改应用程序的逻辑基础上提高了查询性能.如果没有函数索引,那么任何在列上执行了函数的查询都不能使用这个列的索引.当在查询中包含该函数时,数据库才会使用该函数索引.函数索引可以是一个B-Tree索引或位图索引. 用于生成索引的函数可以是算术表达式,也可以是一个包含SQL函数.用户定义PL/SQL函数.包函数,或C调用的

Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace

Oracle使用正则表达式离不开这4个函数:1.regexp_like2.regexp_substr3.regexp_instr4.regexp_replace 看函数名称大概就能猜到有什么用了.regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单: regexp_substr 函数,和 substr 类似,用于拾取合符正则表达式描述的字符子串,语法如下: regexp_instr 函数,和 instr 类似,用于标定符合正则表达式的字符子串的