sql语句中怎样将一个字符串分割为若干定长的子串?
发布网友
发布时间:2022-05-03 18:17
我来回答
共5个回答
热心网友
时间:2022-05-03 19:46
--分割,亦可以用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
/*结果:
取得参数:浮游浮游
剩余字符串:不知所求不知所往
取得参数:不知所求
剩余字符串:不知所往
取得参数:不知所往
剩余字符串:*/
热心网友
时间:2022-05-03 21:04
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(无列名)(无列名)(无列名)(无列名)
1abcd4321中国人民5678
热心网友
时间:2022-05-03 22:39
可以使用substring(str,1,4)截取
热心网友
时间:2022-05-04 00:30
这个毫无疑问,要不在程序中处理,要不,就是要写个过程语句了。