加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

case when在sqlserver和oracle的不同写法

发布时间:2020-12-12 13:55:41 所属栏目:MsSql教程 来源:网络整理
导读:---sqlserver写法:SELECT COUNT(1),remark FROM ( SELECT Remark=CASE WHEN Remark LIKE '%CHECK TKT TIME%' THEN '保留时间有问题' WHEN Remark LIKE '%WITH "AV" AGAIN%' THEN '没有舱位' WHEN Remark LIKE 'DUPLICATE TEL NUMBER%' THEN '订位授权OFFICE
---sqlserver写法:
SELECT COUNT(1),remark FROM (            
 SELECT   Remark=CASE 
 WHEN Remark LIKE '%CHECK TKT TIME%'  THEN '保留时间有问题'
 WHEN Remark LIKE '%WITH "AV" AGAIN%' THEN '没有舱位'
 WHEN Remark LIKE 'DUPLICATE TEL NUMBER%' THEN '订位授权OFFICE号重复'
  WHEN Remark LIKE '%INVALID FOID%' THEN '证件号错误'
 ELSE '其他' end FROM JinRiLogger.dbo.UserOperateLog201307 WITH(NOLOCK)
 WHERE OperateType=8
 ) AS  a GROUP BY a.Remark

---oracle写法:
SELECT
CASE  
 WHEN Remark LIKE '%CHECK TKT TIME%'  THEN '保留时间有问题'
 WHEN Remark LIKE '%WITH "AV" AGAIN%' THEN '没有舱位'
 WHEN Remark LIKE 'DUPLICATE TEL NUMBER%' THEN '订位授权OFFICE号重复'
 WHEN Remark LIKE '%INVALID FOID%' THEN '证件号错误'
 ELSE '其他' 
end,count(*)
FROM JinRiLog.UserOperateLog partition (p2)
where Operatetype=8
group by
CASE  
 WHEN Remark LIKE '%CHECK TKT TIME%'  THEN '保留时间有问题'
 WHEN Remark LIKE '%WITH "AV" AGAIN%' THEN '没有舱位'
 WHEN Remark LIKE 'DUPLICATE TEL NUMBER%' THEN '订位授权OFFICE号重复'
 WHEN Remark LIKE '%INVALID FOID%' THEN '证件号错误'
 ELSE '其他'
end
;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读