PLSQL条件(CASE WHEN)语句小应用

这篇博客展示了如何在PLSQL中使用CASE WHEN语句根据ID的长度进行不同处理,例如当ID长度为18时,截取前6位和后9位组合,长度为15时直接保留ID。通过示例查询,解释了该语句在数据处理中的应用。
摘要由CSDN通过智能技术生成
  平时主要做维护方面工作,开发工作较少,没怎么认真的写过几行plsql代码。昨日一同事打电话咨询一个小问题,当时觉得很简单,但一时又想不出怎么写,后来静下心来,终于把语句写出来了。其实语句非常简单,只不过是对plsql不熟而已,因此请开发大神莫要拍砖。看来以后还要多看一些开发类的书籍,以便不时之需啊。
 去除一些细节,可以归纳为如下内容:表t包含两个字段,deptno字段为部门编号,id字段为身份证号。

点击(此处)折叠或打开

  1. SQL> desc t
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     DEPTNO                                             NUMBER
     ID                                                 VARCHAR2(30)
其中ID有18位的,也有15位的,18位和15位的样例如下:
18位身份证号:110108197211182718
15位身份证号:110108721118271
现在要统计每个部门人数,其中上述15位和18位的身份证号认为同一个人。
  背景已经说清楚了,怎么写语句呢?很显然要对id列进行一下简单的条件处理,然后在进行统计,这里就用到了case when语句。  具体语法如下
  
  根据上面的语法,我们可以基于t表写一条简单的语句:

点击(此处)折叠或打开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值