字符串到表,传递在ssrs报告中拆分的两个分隔符



需要使用ssrs报告将字符串数据显示到表中。在new_details字段中以字符串格式显示数据

PO SEQ Country 65774 1 PE 27039 1 PA 27040 1 PA 27041 1 PA 27042 1 PA 27043 1 PA 27044 1 PA 27045 1 PA

需要将此数据转换为表。我尝试了下面的查询,但没有成功。

declare @ModelID VARCHAR(max)
--make sure to use brackets
set @ModelID = (select new_details from new_order
where newid='857647')
select @ModelID
DECLARE @p VARCHAR(50)
select * from dbo.SplitStringtoTable(@ModelID,'  ')

现在以形式输出

Item
PO
SEQ
Country  65774
1
PE  27039
1
PA  27040
1
PA  27041
1
PA  27042
1
PA  27043
1
PA  27044
1
PA  27045
1
PA
Need to split data based on tab space"  " for next column and double tab space"     " for next row.

作为ssrs报告中的表是必需的。

根据您的描述,您似乎想将字符串拆分为多列,对吧?如果是这样的话,我认为你可以尝试使用下面这样的查询来实现的目标

DECLARE @Tmp TABLE (Id INT,Name VARCHAR(20)) 
INSERT @Tmp SELECT 1,'Vidhyasagar,K' 
INSERT @Tmp SELECT 2,'Sathya,S' 
INSERT @Tmp SELECT 3,'Madhu,K' 

--Using PARSENAME 
SELECT Id, 
PARSENAME(REPLACE(Name,',','.'),2) Name, 
PARSENAME(REPLACE(Name,',','.'),1) Surname 
FROM @Tmp

有关详细信息,可以参考T-SQL脚本将带有分隔字符串的列拆分为多个列。

Zoe

最新更新