SQL case when 的几种用法

您所在的位置:网站首页 sql中if判断语句的用法 SQL case when 的几种用法

SQL case when 的几种用法

2024-07-16 04:47| 来源: 网络整理| 查看: 265

SQL case when 的几种用法 第一种:case用于实现简单的"等于"判断。 比如数据库里的某个字段(VoucherClass)记录着不同的单据类型,比如数据库里显示1、2、3;1代表的是进货单;2代表的是退货单;3代表的是出库单;如果要做成报表展示出来,应该是不会将1、2、3展示出来,这时在查询语句里就可以使用case函数啦。 case 字段名 when ‘字段值’ then ‘需要返回的值’ when ‘字段值’ then ‘需要返回的值’ else ‘剩余所有的需要返回的值’ end SELECT (CASE tv.VoucherClass WHEN ‘1’ THEN ‘进货单’ WHEN ‘2’ THEN ‘退货单’ ELSE ‘出库单’ END) AS voucherclass FROM dbo.Table_Vouchers AS TV 在这里插入图片描述

第二种:case还可用于"有条件"的逻辑判断。 比如当单据为出库单时,那么数量要显示为负数,其余单据的数量都显示为正数。 case when 字段名 = ‘字段值’ then ‘需要返回的值’ else ‘剩余所有的需要返回的值’ end SELECT (CASE WHEN tv.VoucherClass =‘3’ THEN (tvi.Count * -1) ELSE tvi.Count END ) AS count FROM dbo.Table_Vouchers AS TV JOIN dbo.Table_VoucherItems AS TVI ON tvi.VoucherId=tv.Id 在这里插入图片描述 注意:两种用法最后else 可以写,可以不写,但都需要 ‘end’ 结尾

第三种 判断字段为null的方法 select case when AnditCount is null then 0 else AnditCount end 在这里插入图片描述在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3