sql语句中怎样将一个字符串分割为若干定长的子串?

今天找数据发现一个设计很头大,一堆字符串丢在一个字段里,只有四个四个分割开来才有意义,于是想有什么迅捷的办法在sql语句里实现定长分割字符串嘞?不是一定要用过程语句吧……... 今天找数据发现一个设计很头大,一堆字符串丢在一个字段里,只有四个四个分割开来才有意义,于是想有什么迅捷的办法在sql语句里实现定长分割字符串嘞?不是一定要用过程语句吧…… 展开
 我来答
guoweifyj
2011-09-29 · TA获得超过346个赞
知道小有建树答主
回答量:158
采纳率:100%
帮助的人:168万
展开全部
--分割,亦可以用substring函数歼键凳
--MS-SQL SERVER2005及以上版本测试通过
DECLARE @STR VARCHAR(MAX),@PRAM VARCHAR(20)
SET @STR='浮游浮游不知所求不知所往'
WHILE LEN(@STR)>0
BEGIN
SET @PRAM=LEFT(@STR,4)
PRINT '取亮巧得参数:'+@PRAM
SET @STR=RIGHT(@STR,LEN(@STR)-4)
PRINT '剩余字符串:'+@STR
END
/*结果:
取氏旅得参数:浮游浮游
剩余字符串:不知所求不知所往
取得参数:不知所求
剩余字符串:不知所往
取得参数:不知所往
剩余字符串:*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cy_paul
2011-09-29 · TA获得超过821个赞
知道小有建树答主
回答量:769
采纳率:100%
帮助的人:241万
展开全部
declare @t table(id int,remark varchar(500))
insert into @t select 1,'abcd4321中国绝稿人民5678中华人民共和国今天正式并慧孝成立了!'
select id,remark
,SUBSTRING(remark,4*0+1,4)
,SUBSTRING(remark,4*1+1,4)
,SUBSTRING(remark,4*2+1,4)
,SUBSTRING(remark,4*3+1,4)
from @t
---
id (无列名) (无列名) (无列名碧塌) (无列名)
1 abcd 4321 中国人民 5678
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
slq610321223
2011-10-09
知道答主
回答量:25
采纳率:0%
帮助的人:8.8万
展开全部
可以使用substring(str,1,4)截取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友93a4c33
2011-09-29 · TA获得超过1496个赞
知道大有可为答主
回答量:1516
采纳率:0%
帮助的人:1313万
展开全部
这个毫无疑问,要不在程序中处理,要不,就是要写个过程语句了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式