SQL--Case When.. Then.. end的使用
2024-09-08 18:28:15
Case When.. Then.. end的使用场景
当字段有不同的值,根据不同的值表示不同的内容
use [数据库名]
go
if exists( select * from sys.views where name='v_KAR_Schedule_Report') --判断视图是否已存在
drop view v_KAR_Schedule_Report --存在则删除视图
go Create view [dbo].[v_KAR_Schedule_Report] --创建视图
as
select Draft_Number as DraftNO,Schedule_Approval_Date as ScheduleApprovalDate,Engagement_No as EngagementNO,Schedule_ID as ScheduleID,Schedule_Created as ScheduleCreated,Schedule_Currency as ScheduleCurrency,Schedule_Total_InclVAT as ScheduleTotalInclVAT,Schedule_Fee as ScheduleFee,
Schedule_Expense as ScheduleExpense ,Net_Total_ExclVAT as NetTotalExclVAT,Allocated_Total_ExclVAT as AllocatedTotalExclVAT ,Schedule_Narrative as ScheduleNarrative,
-- case 字段 when 初始值 then 要展示的值 else 剩余情况要表示的值 end as 新字段名
--
case Hardcopy_Preference when 'A' then 'Softcopy only' when 'B' then 'Softcopy & hardcopy (centrally dispatch to client)' when 'C' then 'Softcopy & hardcopy (EM to collect and deliver)' else '' end as HardcopyPreference, --使用场景
isnull(Is_Cover_Required,'') as IsCoverRequired, -- 空值(null)的判断 为null则表示为空字符串
Invoice_To_EntityNo as InvoiceToEntityNO,Invoice_To_ContactNo as InvoiceToContactNO,Invoice_To_APContactNo as InvoiceToAPContactNO,Draft_Number_Create_Time as DraftNOCreateTime
from EM_Schedule
go
select a.* ,(case a.status when 0 then '正常' when 1 then '删除' else a.status end) as status from
(select *,cast(status as varchar(64)) status from tb) a;
最新文章
- 161223、mysql锁的两个例子
- SQL Developer新建连接
- CSS动画与GPU
- Android 数据传递(二)Activity与fragment之间的通信
- Lock锁的使用示例
- 2014 Super Training #6 G Trim the Nails --状态压缩+BFS
- C++ Generate Rand Number Array by ";srand()"; 生成随机数
- hdu 饭卡
- CC2541的任务与事件,以及红外捕捉.
- (转载)[MySQL技巧]INSERT INTO… ON DUPLICATE KEY UPDATE
- 适配器控件-Adapter
- Javascript跳转手机站代码
- FindBugs的Eclipse插件安装与使用
- 【转】 linux内核移植和驱动添加(三)
- kohana(3.2)和gleez(1.1.5)的安装
- 乐在其中设计模式(C#) - 工厂方法模式(Factory Method Pattern)
- Java模拟耗时任务异步执行
- Typescript 发布到npm
- Apache Shiro 用户信息保存在session方案
- Socket 初识 用Socket建立一个简易Web服务器