SQLServer拆分字符串的3常用种方法

以下的文章主要是介绍的是SQL Server拆分字符串的3常用种方法,我前两天在相关网站看见SQL Server拆分字符串的3常用种方法的资料,觉得挺好,就拿出来供大家分享,望会给大家带来一些帮助在此方面。

 
 
 
  1. use tempdb  
  2. use tempdb  
  3. go  

测试数据

 
 
 
  1. declare @s varchar(1000)  
  2. set @s='ak47,mp5,1,23' 

要求输出结果

 
 
 
  1. S  
  2. ak47  
  3. mp5  
  4. 1  
  5. 23  
  6.  

SQL Server拆分字符串的3种方法对比:

SQL Server拆分字符串1.[朴实]动态Exec方法:

 
 
 
  1. declare @s1 varchar(1000)  
  2. set @s1=right(replace(','+@s,',',''' as S union select '''),len(replace(','+@s,',',''' as S union select '''))-12)+''''  
  3. exec(@s1)  
  4.  

SQL Server拆分字符串2.[变通]表交叉方法:

 
 
 
  1. select replace(reverse((left(s,charindex(',',s)))),',','') as S from(  
  2. select r,reverse(left(@s,r))+',' as s  
  3. from(  
  4. select (select count(*) from sysobjects where name<=t.name ) as r  
  5. from sysobjects t  
  6. )a where r<=len(@s)  
  7. and left(@s+',',r+1) like '%,'  
  8. )t order by r  

SQL Server拆分字符串3.[高级]XML方法:

 
 
 
  1. DECLARE @idoc int;  
  2. DECLARE @doc xml;  
  3. set @doc=cast(''+replace(@s,',','')+'' as xml)  
  4. EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc  
  5. SELECT * FROM OPENXML (@Idoc, '/Root/item',2)  
  6. WITH (  
  7. [S] varchar(10)  
  8. )  
  9.  

以上的相关内容就是对SQL Server拆分字符串的三种方法的介绍,望你能有所收获。

【编辑推荐】

  1. SQL Server 2005 synonyms的优缺点有哪些?
  2. SQL Server快照功能以及其查询操作
  3. SQL Server行转列的什么情况下被用?
  4. SQL Server排序遇到NULL,不怕不帕!
  5. SQL Server 2005两种快照隔离机制的不同之处

当前标题:SQLServer拆分字符串的3常用种方法
路径分享:http://www.mswzjz.cn/qtweb/news22/419822.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能