在oracle数据库中,要求两个字段的和可以用sql语句(前提是两个字段都是数字型):
创新互联专注于南县企业网站建设,成都响应式网站建设,商城网站定制开发。南县网站建设公司,为南县等地区提供建站服务。全流程按需制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
SELECT num1+num2 AS num FROM table_name;
其中num1、num2是要求和的两个字段,num是新命名的和字段,table_name是要查询的表名。
扩展资料:
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。
可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。
1,如果都是数字类型的直接把这两个字段相加
select
a+b as ab
from S ;
或者你的意思是 select sum(a+b) from S;
2,如果是不同的字段类型就不能求和了,但是可以使用“||”或者CONCAT()函数
2.1 select a||b from S;
2.2 select concat(a,b) from S;
参考资料来源:百度百科-Oracle数据库
楼主说的相加是指数值类型的相加还是指合并结果集?如果是数值类型的列相加只需要把两张表用合适的关联条件关联起来进行查询,列相加即可;如果是合并结果集需要注意列顺序,子查询对应列的类型必须要一致,用UNION 或UNION ALL关键字。
可以创建一个函数,然后来求和。
1.先创建一个函数
CREATE OR REPLACE FUNCTION res_exp( p_Express varchar)
RETURN NUMBER
IS
v_RESULT NUMBER;
v_Sql varchar(200);
BEGIN
v_Sql := 'SELECT ' || p_Express || ' FROM dual';
EXECUTE IMMEDIATE ( v_Sql ) INTO v_RESULT ;
RETURN v_RESULT;
END res_exp;
2.通过正则表达式,将PARA_VALUE转为求和表达式,我这里用自己的例子来做:
with t as (
select 'item1=1,item2=2,item3=3' aa from dual
union all
select 'item1=1,item2=2,item3=3' aa from dual
)
SELECT res_exp(regexp_replace(regexp_REPLACE(aa, ',item[[:digit:]]=', '+'), 'item[[:digit:]]=', '')) res
FROM t
你的可以这样写
SELECT res_exp(regexp_replace(regexp_REPLACE(PARA_VALUE, ',item[[:digit:]]=', '+'), 'item[[:digit:]]=', '')) res
FROM 你的表名
将相同字段的值加在一起需要用sum函数。
如emp表中有如下数据:
现要按deptno为分组,将sal的值加在一起,可用如下语句:
select deptno,sum(sal) sal from emp group by deptno;
查询结果:
select sum(pay_amount) ,produce_no,if_type,cust_order_id,acc_item_type_id from
from wwl_mid_007
where a.cust_order_id='89451605314754319' )
group by produce_no,if_type,cust_order_id,acc_item_type_id