Функция разделения в SQL Server 2005 - PullRequest
0 голосов
/ 30 марта 2012

У меня есть строка типа val1_val2,val3_val4, и мне нужно разделить эти значения на табличные данные следующим образом.

column1 column2
 Val1     val2 
 Val3     val4

Заранее спасибо ....

Ответы [ 2 ]

3 голосов
/ 30 марта 2012

Функцию разделения можно найти здесь

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 голосов
/ 30 марта 2012

Здесь есть хороший ответ:

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

Используя эту функцию, вы можете просто использовать:

SELECT fn_ParseText2Table 'val1_val2,val3_val4', '_'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...