SQL Server 2005中的拆分功能

问题描述 投票:-2回答:2

我有一个像val1_val2,val3_val4的字符串,我需要按如下方式将这些值分割为表格数据。

column1 column2
 Val1     val2 
 Val3     val4

谢谢,...

sql sql-server tsql sql-server-2005
2个回答
3
投票

分割功能可以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
投票

这里有一个不错的答案:

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

使用此功能,您可以直接使用:

SELECT fn_ParseText2Table 'val1_val2,val3_val4', '_'
© www.soinside.com 2019 - 2024. All rights reserved.