UserLevel 由5位数字组成,每位数字代表的含义如下
第一位商业大客户: 
(0)表示非商业大客户
(1)钻
(2)金
(3)银
(4)贵
第二位中高端:
(0)表示非中高端
(1)表示是中高端
第三位重要大客户:
(0)表示非重要大客户
(1)局级
(2)处级
(3)科级
(4)其他
第四位集团VIP:
(0)表示非集团VIP
(1)钻
(2)金
(3)银,
(4)贵
第五位集团关键人:
(0)表示非集团关键人
(1)手机主管部门负责人
(2)单位领导
(3)核心决策者
(4)辅助决策者
(5)内线支持者
(6)关键使用者
(7)需求首倡者
(8)技术把关者
(9)法人代表
(a)联系人
(b)中层领导
(c)负责人现在想判断一个用户的级别,求一SQL语句,越简单越好。谢谢我试过使用decode判断每一位的含义,然后使用字符串连接,但是总是报错,请各位大侠帮忙写个。

解决方案 »

  1.   

    select a,decode(substr(a,1,1),'1','钻','2','金','3','银','4','贵','非商业大客户')"商业大客户",
      decode(substr(a,2,1),'1','中高端','非中高端')"中高端",
      decode(substr(a,3,1),'1','局级','2','处级','3','科级','4','其他','非重要大客户')"重要大客户",
      decode(substr(a,4,1),'1','钻','2','金','3','银','4','贵','非集团VIP')"集团VIP",
      decode(substr(a,5,1),'1','手机主管部门负责人','2','单位领导','3','核心决策者','4','辅助决策者','5','内线支持者','6',
        '关键使用者','7','需求首倡者','8','技术把关者','9','法人代表','a','联系人','b','中层领导','c','负责人','非集团关键人') "集团关键人"
    from (select '01234' a from dual
      union all select '21212' from dual)A 商业大客户 中高端 重要大客户 集团VIP 集团关键人
    01234 非商业大客户 中高端 处级 银 辅助决策者
    21212 金 中高端 处级 钻 单位领导
      

  2.   

    SELECT DECODE(SUBSTR(UserLevel,1,1),0,'非商业大客户',1,'钻',2,'金',3,'银',4,'贵') || DECODE(SUBSTR(UserLevel,2,1),0,'非中高端',1,'中高端') 
     || DECODE(SUBSTR(UserLevel,3,1),0,'非重要大客户',1,'局级',2,'处级',3,'科级',4,'其他') || DECODE(SUBSTR(UserLevel,4,1),0,'非集团VIP',1,'钻',2,'金',3,'银',4,'贵')
     || DECODE(SUBSTR(UserLevel,5,1),0,'非集团关键人',1,'手机主管部门负责人',2,'单位领导',3,'核心决策者',4,'辅助决策者',5,'内线支持者',6,'关键使用者',7,'需求首倡者',8,'技术把关者',9,'法人代表','a','联系人','b','中层领导','c','负责人') 
    FROM tb;
      

  3.   

    呵呵 报什么错呢楼主1楼不就是用DECODE和SUBSTR搞定了嘛
      

  4.   

    支持一楼的!
    select a,decode(substr(a,1,1),'1','钻','2','金','3','银','4','贵','非商业大客户')"商业大客户",
      decode(substr(a,2,1),'1','中高端','非中高端')"中高端",
      decode(substr(a,3,1),'1','局级','2','处级','3','科级','4','其他','非重要大客户')"重要大客户",
      decode(substr(a,4,1),'1','钻','2','金','3','银','4','贵','非集团VIP')"集团VIP",
      decode(substr(a,5,1),'1','手机主管部门负责人','2','单位领导','3','核心决策者','4','辅助决策者','5','内线支持者','6',
        '关键使用者','7','需求首倡者','8','技术把关者','9','法人代表','a','联系人','b','中层领导','c','负责人','非集团关键人') "集团关键人"
    from (select '01234' a from dual
      union all select '21212' from dual)A    商业大客户    中高端    重要大客户    集团VIP    集团关键人
    01234    非商业大客户    中高端    处级    银    辅助决策者
    21212    金    中高端    处级    钻    单位领导