字符串到表传递两个定界符在ssrs报告中拆分

时间:2018-11-27 21:11:11

标签: sql reporting-services ssrs-2008 dynamics-crm ssrs-2012

需要使用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报告中的表格。

1 个答案:

答案 0 :(得分:0)

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

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 Script to Split a column with delimited string into multiple columns

佐伊