4GL以输入的顺序排序显示

#以输入的顺序排序显示(输入什么顺序就显示什么顺序)
LET l_wc=tm.wc
  
SELECT instr(l_wc,'sfb01 in',1,1) INTO l_have FROM dual 
  
IF l_have <> 0 THEN
     
    SELECT instr(l_wc,'sfb01 in',1,1) INTO l_n1 FROM dual        
    
    SELECT instr(l_wc,'(',l_n1,1) INTO l_n2 FROM dual
    
    SELECT instr(l_wc,')',l_n2,1) INTO l_n3 FROM dual   
    
    LET j=1
    
    LET k=1
    
    LET l_orderby=" order by case sfb01"
    
    FOR i=l_n2 TO l_n3 
    
      IF l_n4 < l_n3 THEN
      
         SELECT instr(l_wc,'\'',l_n2,j) INTO l_n4 FROM dual
      
         SELECT instr(l_wc,'\'',l_n2,j+1) INTO l_n5 FROM dual
        
       IF l_n4 > 0 AND l_n5 > 0 THEN       
           
          LET l_orderby=l_orderby," when '",l_wc[l_n4+1,l_n5-1],"' then ",k CLIPPED," "
           
          LET k=k+1
           
          LET j=j+2
        
       ELSE
           
          EXIT FOR
        
       END IF
    
      ELSE
    	  
       EXIT FOR
    
      END IF
    
   END FOR
        
   LET l_orderby=l_orderby," end "
    
   LET l_sql=l_sql CLIPPED,l_orderby CLIPPED
  
END IF


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值