标题:各位高手,如何从一个字段当中取出固定字符?在线等,谢谢
只看楼主
anwn
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-11-23
结帖率:0
已结贴  问题点数:20 回复次数:2 
各位高手,如何从一个字段当中取出固定字符?在线等,谢谢
各位高手,有一张表有“付款单位”这个字段,字段的长度都是6的倍数,如何生成一张新表,把一个字段当中每6位截取成一条新的记录,比如倒数第三条记录变成BLM557与B8M970两条记录?谢谢。
付款单位
BEN915
BEN915B78809B79576BG6159BRD933
BVM768
BVM768
BLM557
BLM557B8M970
B820J0B18608B3W072BVY585
B886E2B9V839BU9878U75972B036E1B31P88BG3509UQ4763
搜索更多相关主题的帖子: 记录 在线 如何 倒数 
2012-11-23 13:22
半杯清茶
Rank: 4
等 级:业余侠客
威 望:6
帖 子:39
专家分:297
注 册:2012-11-13
得分:20 
select stuff((select''+  付款单位 from table for xml path('')),1,1,'')

将你的多条记录合成一条记录,得到一个长的字串串,然后你再对这个长的字符串截取,应该可以满足你的要求。
2012-11-23 14:20
mxbing1984
Rank: 7Rank: 7Rank: 7
来 自:贵州道真
等 级:贵宾
威 望:37
帖 子:73
专家分:342
注 册:2014-8-8
得分:0 
回复 楼主 anwn
With T
 As
 (
 Select Convert(Varchar(1000),Left(付款单位,6)) As 付款单位,SUBSTRING(付款单位,7,LEN(付款单位)) As 临时 From tab  
 Union All
 Select Convert(Varchar(1000),Left(临时,6)),SUBSTRING(临时,7,LEN(临时)) From T
    Where LEN(临时)>=6  
 )
 Select 付款单位 From T Where LEN(付款单位)=6

--sql2005或以上版本,按你的数据拆分出来是23条数据

天再高,踮起脚尖就能更接近阳光
2014-08-08 17:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-388084-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.716493 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved