我有string
與格式'S1CW3733|1050105000224,S1CW4923|1050105000009'
SQL用戶定義函數來拆分串到多個列和行
我有功能在SQL其中轉換它在格式
item
S1CW3733|1050105000224
S1CW4923|1050105000009
是有可能做到這一點這辦法 ? (多列)
item item2
S1CW3733 1050105000224
S1CW4923 1050105000009
我的功能: -
ALTER Function [dbo].[fnSplit]
(
@sInputList Varchar(8000), -- List of delimited items
@sDelimiter VarChar(8000) = ',' -- delimiter that separates items
)
Returns @List Table (item VarChar(8000))
Begin
Declare @sItem VarChar(8000)
While CharIndex(@sDelimiter,@sInputList,0) <> 0
Begin
Select
@sItem=RTrim(LTrim(SubString(@sInputList,1,CharIndex(@sDelimiter,@sInputList,0)-1))),
@sInputList=RTrim(LTrim(SubString(@sInputList,CharIndex(@sDelimiter,@sInputList,0)+Len(@sDelimiter),Len(@sInputList))))
If Len(@sItem) > 0
Insert Into @List Select @sItem
End
If Len(@sInputList) > 0
Insert Into @List Select @sInputList -- Put the last item in
Return
End
這些[文章](http://stackoverflow.com/questions/11185318/如何分開字符串到不同的列)和[鏈接](http://www.codeproject.com/Articles/7938/SQL-User-Defined-Function-to-Parse-a-Delimited-Str )對你有幫助。 – bonCodigo
行應該被','拆分,列應該被'|'拆分 – Shaggy