以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sql 问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109363) |
-- 作者:Springamy -- 发布时间:2017/11/10 11:40:00 -- sql 问题 你好,大大,这3个case when 和 len\\ Substring 组合起来的sql,是什么意思? (Case when len(b.gysddhm)>=12 Then (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)
|
-- 作者:有点甜 -- 发布时间: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 |