如何用sql实现两个字段相加?

有两个float类型的字段A,B
但是值可以为空
如果用select A+B
则当一个字段的值为null 另一个有值的时候
查询出来的结果还是null
如何实现以下结果
A B
null null
10 null
null 20
10 20

如何能够查出结果为
sum
null
10
20
30

第1个回答  推荐于2018-03-08
MS_SQL
select nullif(isnull(A,0)+isnull(B,0),0) as [Sum] from table1

Oracle
用 select case when nvl(A,0)+nvl(B,0)=0 then null else nvl(A,0)+nvl(B,0)end as [Sum] from table1本回答被提问者和网友采纳
第2个回答  2010-05-12
mssql

--> 生成测试数据表: [t2]
IF OBJECT_ID('[t1]') IS NOT NULL
DROP TABLE [t1]
CREATE TABLE T1
( A FLOAT,
B FLOAT)
INSERT INTO T1
SELECT NULL,NULL UNION ALL
SELECT 10,NULL UNION ALL
SELECT NULL,20 UNION ALL
SELECT 20,NULL
-->SQL查询如下:
SELECT COALESCE(A,B) FROM T1
--
第3个回答  2010-05-12
select isnull(A,0)+isnull(B,0)
第4个回答  2010-05-12
select sum(case when a is null and b is null then null else isnull(a,0) + isnull(b,0)) as [sum]
from table

SQL 如何对二个字段中的数字相加得到总数
1、把 n1 与 n2 字段的数值相加 select n1,n2,n1+n2 as '两字段相加' from tt 2、使用sum()函数可以求一个字段所有数值的总和 select sum(n1)+sum(n2) as '两字段相加总和' from tt

在oracle数据库中,要求两个字段的和要怎么写sql语句
在oracle数据库中,要求两个字段的和可以用sql语句(前提是两个字段都是数字型):SELECT num1+num2 AS num FROM table_name;其中num1、num2是要求和的两个字段,num是新命名的和字段,table_name是要查询的表名。

SQL语句,同一个表中,两个字段相减,应该怎么写?
在Oracle数据库中,如果你需要从同一个表中对两个字段进行加减运算,可以使用SQL的简单算术运算和聚合函数。首先,对于两个字段的简单加减,例如字段A和字段B,可以直接在SELECT语句中进行,如下所示:sql SELECT 字段A, 字段A + 字段B FROM 表名 WHERE 条件; -- 可以根据需要添加WHERE子句 SELECT 字...

在oracle数据库中,要求两个字段的和要怎么写sql语句?
1.如果都是数字类型的直接把这两个字段相加\\x0d\\x0aselect \\x0d\\x0aa+b as ab \\x0d\\x0afrom S ;\\x0d\\x0a或者你的意思是 select sum(a+b) from S;\\x0d\\x0a\\x0d\\x0a2.如果是不同的字段类型就不能求和了,但是可以使用“||”或者CONCAT()函数\\x0d\\x0a2.1 select...

怎么把两列的数据求和(先每列求和,再把结果再相加)sql数据库
如图所示,可以编写UPDATE biao1 SET age=age+1。3、选中 UPDATE biao1 SET age=age+1 语句点击左上角的执行查询按钮或者按按盘f9执行该语句,一个一个来执行。4、最后,把sql改为UPDATE biao1 SET age=age*2,执行该语句,就会把字段中的数值都x2运算,这样就是相加出来的结果了。

sql如何将二个字段连接在一起
在SQL中,将两个字段合并是一项基本操作,可以使用连接符实现。方法一,对于大部分数据库系统,如MySQL、Oracle和DB2,你可以使用“||”作为连接符,例如:在SQL查询中,如:SELECTname||'的年龄是'||ageFROMtablename;这将返回"zhangsna的年龄是11"这样的结果。而对于SQLServer,由于语法差异,你可能...

SQL怎么把两个字段的字符相加成一个新字段啊?
sqlserver:update tablename set newsid=newsid+convert(varchar(50),id,121)

SQL SERVER怎么计算两个字段值的和
cast(Convert(decimal(18, 2),(Sum(InSum)-Sum(OutSum))\/cast(Sum(InSum)as float)*10) as char(10)) + '%' as '百分比'from dbo.FactSitesPerformance a inner join #temp b on a.SiteKey = b.SiteKey where CountDate = (SELECT CONVERT(varchar(10), dateadd(dd, -1, getdate()...

SQL 两个字段相加
1.先改为数字型 用numeric(*,2)就好,相加后的四舍五入是有的,精度还是两位小数;2.使用Col1+Col2 col1 col2 12 13 23 7 Col1+Col2:col1 col2 Col1+Col2 12 13 25 23 7 30 sum sum(col1) sum(col2)35 20 按照你意思应该是Col1+Col2 3.As ...

SQL 求两个表中的两个列进行求和,语句如何写?
A B两表要是字段相等,数据类型相同,可以这样写:select sum(A2) from (select * from A union all select * from B) a

相似回答