Foxtable(狐表)用户栏目专家坐堂 → sql 问题


  共有1704人关注过本帖树形打印复制链接

主题:sql 问题

美女呀,离线,留言给我吧!
Springamy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
sql 问题  发帖心情 Post By:2017/11/10 11:40:00 [只看该作者]

你好,大大,这3个case when 和 len\ Substring 组合起来的sql,是什么意思?

(Case when len(b.gysddhm)>=12 Then
                 (Case when (len(b.gysddhm)=13 Or len(b.gysddhm)=15) Then SubString(b.gysddhm,1,len(b.gysddhm)-1)+'1'   else  

                    (Case when (len(b.gysddhm)=17 and b.cpx='DP') then SubString(b.gysddhm,1,len(b.gysddhm)-                 

                        5)+'1'+SubString(b.gysddhm,len(b.gysddhm)-3,1)+'1'+ SubString(b.gysddhm,len(b.gysddhm)-1,2) else  

   

                                     SubString(b.gysddhm,1,len(b.gysddhm)-2)+'1'+SubString(b.gysddhm,len(b.gysddhm),1) end)
               end


            else '456' end

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/10 11:52:00 [只看该作者]

(Case when len(b.gysddhm)>=12 Then

 

意思是,如果gysddhm的字符长度大于等于12

 

SubString(b.gysddhm,1,len(b.gysddhm)-1)+'1'

 

意思是,截取gysddhm的字符,从第一位到最后一位-1,加上字符1


 回到顶部