SQL Server 2005中的拆分功能

问题描述:

我有一个像val1_val2,val3_val4这样的字符串,我需要将这些值拆分为表格数据,如下所示。SQL Server 2005中的拆分功能

column1 column2 
Val1  val2 
Val3  val4 

在此先感谢....

+1

简单,问题和要求多数民众赞成它。你试过什么? – 2012-03-30 10:12:49

+3

@rizwanShahid,*是一个社区,因为它是关于IT的通用英语,所以请让我们坚持下去吧 – 2012-03-30 10:20:31

+0

val1_val2具有相同的模式,是不是有val3,val4等? – 2012-03-30 10:21:48

一分割功能可以be found here

declare @str varchar(100) 
set @str = "val1_val2,val3_val4" 


declare @str varchar(100) = 'val1_val2,val3_val4' 

select substring(f.value, 0, charindex('_', f.value)) as val1 
     ,substring(f.value, charindex('_', f.value) + 1, LEN(f.value)) as val2 
from dbo.fnSplitString(@str, ',') f 
+0

嘿,你给我很聪明的答案。谢谢。 – 2012-03-30 10:41:42

有一个很好的答案在这里:

http://www.codeproject.com/Articles/7938/SQL-User-Defined-Function-to-Parse-a-Delimited-Str

使用此功能,你可以只使用:

SELECT fn_ParseText2Table 'val1_val2,val3_val4', '_'