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


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

主题:大大,substring 问题

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


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

SubString(a.xmdhout,len(a.xmdhout),1)

 

大大,这有三个参数的怎么看


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


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

select * fr om cght where cghthm="123456789011" 可以查出一条数据,并且此条数据的gys='A1234567B'

但是如果我查 select * fro m cght where gys ="A1234567B"就查不出来,

换成 select * fr om cght where patindex('%A1234567B%',gys)>0 就能查出结果

 

下面这个条件我要怎么改呢?

Select A._identify fr om xmdd As A
 left join CGHT As B ON (Case when len(a.xmdhout)>=12 Then
  (Case when (len(a.xmdhout)=13 Or len(a.xmdhout)=15) Then SubString(a.xmdhout,1,len(a.xmdhout)-1)+'1' else  

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

      5)+'1'+SubString(a.xmdhout,len(a.xmdhout)-3,1)+'1'+ SubString(a.xmdhout,len(a.xmdhout)-1,2) else    

      SubString(a.xmdhout,1,len(a.xmdhout)-2)+'1'+ SubString(a.xmdhout,len(a.xmdhout),1) end)
   end)
 else '123' end)

              (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) 

left join  CGHT As c  ON a.xmdhout=c.gysddhm  where a.xmdhout <> '' and ( isnull(b.id,0)=0  or (a.xmdate>'2014-01-01'  and

isnull(c.id,0)=0 ) )  and patindex('%CD%',a.ddzt)=0  And ( (patindex('%FX%',a.ddlx)=0 and patindex('%MB%',a.ddlx)=0  and

patindex('%SHO%',a.ddlx)=0 ) or patindex('%DP%',a.ddlx)>0 or patindex('%HSH%',a.ddlx)>0   ) and a.ddzt in ('新单','改单') and

(a.jhje>0 Or (a.jhje=0 and a.ddlx <> '服务')) 


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


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

 没看懂你2楼的意思。你sql语句本来要执行什么的?现在要执行什么?哪里加上条件要什么效果?


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


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

怎么样把cght里面的gysddhm 去空格,  cght 里面的gysddhm和xmdd里面的xmdhout 是一样的,

Table1要加载的数据是如果cght里面找到有一样的gysddhm,这条数据就不加载到Table1中,加载到Table2中,

现在条件是对的,但是有一个数据不知道是不是有空格的问题,Table1和table2都能找到这条数据,按理说这条数据只能在Table2中的

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

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


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

试试

 

select * from cght where LTrim(Rtrim(gysddhm)) = '123456'

 

你gysddhm字段是不是设置成了 nchar 类型?这样的类型,是会自动补空格的。


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


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

nvarchar 类型的

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


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

还是不行哎


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


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


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

你的列【gysddhm】前后肯定有特殊字符,试试执行

 

select len(gysddhm), substring(gysddhm, 1,5),  * from cght where cghthm="123456789011"


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


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

我在数据库中赋值gysddhm的时候,后面是有两个空格的

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

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


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

14和你看到的字符是否匹配?

 

select len(gysddhm), substring(gysddhm, len(gysddhm)-5,5) + "abcdefg",  * from cght where cghthm="123456789011"

[此贴子已经被作者于2017/11/10 12:18:07编辑过]

 回到顶部
总数 14 1 2 下一页