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

数据库 SQL Server
以下的文章主要描述的是SQL Server拆分字符串的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('<Root><item><S>'+replace(@s,',','</S></item><item><S>')+'</S></item></Root>' 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两种快照隔离机制的不同之处
责任编辑:佚名 来源: theserverside
相关推荐

2021-03-14 15:07:55

SQLServer数据库字符串

2011-03-22 10:44:20

SQL Server数拆分字符串函数

2010-09-13 15:12:26

sql server字

2021-05-18 09:08:18

字符串子串对象

2010-09-13 15:50:03

sql server数

2010-06-28 15:18:51

SQL Server

2010-11-08 17:07:41

SQL Server字

2010-09-03 11:35:50

2020-10-16 18:35:53

JavaScript字符串正则表达式

2010-06-17 16:00:59

SQL Server

2009-08-06 17:24:08

C#字符串

2010-09-13 15:06:40

sql server字

2023-08-25 16:37:08

Pandas测试

2010-07-09 09:54:34

SQL Server字

2010-09-13 14:55:09

sql server字

2010-11-08 15:58:54

SQL Server连

2020-08-01 16:19:13

JavaScript字符串开发

2010-09-02 10:02:17

PHP

2010-07-16 10:41:34

SQL Server

2010-09-09 11:48:00

SQL函数字符串
点赞
收藏

51CTO技术栈公众号