说明:case 的用法可以在不改变原有数据库的基础上自定义显示字段名。如下图
原表数据
我们要这样的效果,PAmount字段拆分显示为 收入和支出,其中正数为收入,负数为支出,收入时支出为0,支出时收入为0,如下图,
此时使用case 即可。
case的语法:
(case when 条件 then 结果 else 结果
end)
as 自定义字段名
下面以上面例子来说明
1.创建一个表 Pcase;
create table FCase(
PNumber int not null,
PAmount int not null
);
2.为表中添加数据
INSERT into FCase values(1,-10);
INSERT into FCase values(2,30);
INSERT into FCase values(3,10);
INSERT into FCase values(5,0);
INSERT into FCase values(4,-50);
3.默认查询结果
select PNumber,PAmount from FCase;
4.使用 case,as 来自定义查询
select PNumber ,
(CASE
WHEN PAmount>0 THEN PAmount
else 0
END
)
as 收入 ,
(CASE
WHEN PAmount<0 then ABS(PAmount)
ELSE 0
END
)as 支出 from FCase;