当前位置: 代码迷 >> Java Web开发 >> 哪位大神能将以上支持oracle的decode函数转换为sqlserver的case when、then、else、end语法
  详细解决方案

哪位大神能将以上支持oracle的decode函数转换为sqlserver的case when、then、else、end语法

热度:94   发布时间:2016-04-12 23:22:46.0
哪位大神能将以下支持oracle的decode函数转换为sqlserver的case when、、then、、else、、end语法
select 
  decode(a.alarmtype,100,'硬盘变更事件',2000,'杀毒软件事件',2002,'设备监控事件',2003,'硬件监视事件',2004,'软件监视事件',2005,'主机防火墙事件',
         2006,'HTTP访问事件',2007,'外联监控事件',2008,'网络配置监控事件',2009,'流量控制事件',2010,'系统性能事件',2011,'拨号监控事件',
         2012,'文件监视事件',2013,'补丁自动下发事件',2014,'打印监控事件',2015,'进程监视事件',2016,'端口监视事件',
         2017,'共享监视事件',2018,'USB监视事件',2020,'流量统计事件',2022,'文档检查事件',2023,'网络准入事件','未知事件') as LABEL,
  count(a.alarmtype) as VALUE
  from td_eventinfo a
  where substr(a.groupurl,instr(a.groupurl, '/', -1, 1) + 1) = 'td' 
  and a.creationtime BETWEEN to_date('20130304','yyyyMMdd') AND to_date('20130326','yyyyMMdd') 
  group by a.alarmtype 
  order by  count(a.alarmtype) desc

------解决方案--------------------
刚查了下,那个是判断函数,在sql里面可以这么写

SELECT  t.name AS 名称,max(cw.createdate) AS 时间,(CASE t.type WHEN '1' THEN '1分局' WHEN '2' THEN '2分局' WHEN '3' THEN '3分局' WHEN '4' THEN '4那句' END) AS 分局名称
FROM dbo.users ...
  相关解决方案