我正在尝试将单行数据分成多列,并且我有一个管道 | 在我想分开的每个数据之间。
我希望将这一行数据拆分为多列
1234 |abcd | 123abc | some | more | 0922
像这样
col1 col2 col3 col4 col5 col6
1234 abcd 123abc some more 0922
select
[Col1] = SUBSTRING(PostData,1,CHARINDEX('|',PostData)-1) --does what it suppose to
,[Col1] = SUBSTRING(PostData,CHARINDEX('|',PostData)+1,CHARINDEX('|',PostData,CHARINDEX('|',PostData)+1)-CHARINDEX('|', PostData)-1) --does what it suppose to
,[Col1] = SUBSTRING(PostData,CHARINDEX('|',PostData,CHARINDEX('|',PostData)+1)-CHARINDEX('|', PostData)-1,CHARINDEX('|',PostData,CHARINDEX('|',PostData)+1)-CHARINDEX('|', PostData)-1) --i need help with this
,[Col1] = SUBSTRING(PostData,CHARINDEX('|',PostData)+1,CHARINDEX('|',PostData,CHARINDEX('|',PostData)+1)-CHARINDEX('|', PostData)-1)--i need help with this
,[Col1] = SUBSTRING(PostData,CHARINDEX('|',PostData)+1,CHARINDEX('|',PostData,CHARINDEX('|',PostData)+1)-CHARINDEX('|', PostData)-1)--i need help with this
,[Col1] = SUBSTRING(PostData,CHARINDEX('|',PostData)+1,CHARINDEX('|',PostData,CHARINDEX('|',PostData)+1)-CHARINDEX('|', PostData)-1) --i need help with this
,[ID] = REVERSE(SUBSTRING(reverse(PostData),0,CHARINDEX('|',REVERSE(PostData) --does what
它假设
从表名
col1 col2 col3 col4 col5 col6
1234 abcd 123abc some more 0922
我得到的是:
col1 col2 col3 col4 col5 col6
1234 abcd abcd abcd abcd 0922