以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQL中 SUBSTRING 的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122741)

--  作者:Springamy
--  发布时间:2018/8/1 11:42:00
--  SQL中 SUBSTRING 的问题

case when patindex(\'%B公司%\',b.cpx)>0  then SubString(b.gysddhm,0,13)   Else \'456\' end)

需求:  需要截取B公司的b.gysddhm中的前13个字符,但是在这里报错


--  作者:有点甜
--  发布时间:2018/8/1 11:46:00
--  
substring是从1开始的,不是0。
--  作者:Springamy
--  发布时间:2018/8/1 14:32:00
--  

left join  CGHT As c  ON a.xmdhout=(case when patindex(\'%B公司%\',c.cpx)>0  then SubString(c.gysddhm,1,13) else c.gysddhm end   )

 xmdhout 和gysddhm (gysddhm 有的数据不用截取,有的要截取前面13位才能相等,这么写这么没有效果?)


--  作者:有点甜
--  发布时间:2018/8/1 14:37:00
--  
建议你先生成对应的表格,再连接两个表格吧。