SSRS - 如果字符是逗号 ',',则删除字符串中的最后一个字符
SSRS - remove last character in string if character is comma ','
在我的 SSRS 报告中,我使用的查询基于值连接多个字符串:
CONCAT(
CASE WHEN tu.TU_Ht_NREZ = 1 THEN 'Nichtraumzimmer, ' ELSE '' END,
CASE WHEN tuex.Doppelzimmer = 1 THEN 'Doppelzimmer, ' ELSE '' END,
CASE WHEN tuex.AllergikerBettwaesche = 1 THEN 'Allergiker Bettwäsche, ' ELSE '' END,
CASE WHEN tu.TU_Ht_VegEssen = 1 THEN 'Vegetarisch, ' ELSE '' END,
CASE WHEN tu.TU_Ht_SchwbEZ = 1 THEN 'Schwerbehindert, ' ELSE '' END,
CASE WHEN tuex.VeganesEssen = 1 THEN 'Veganes Essen, ' ELSE '' END,
CASE WHEN tuex.GlutenfreiseKost = 1 THEN 'Glutenfreie Kost, ' ELSE '' END,
CASE WHEN tuex.Rollstuhl= 1 THEN 'Rollstuhl' ELSE '' END
) AS TeilnehmerBemerkung
但是,如果 'Rollstuhl' 没有添加到字符串中,那么整个字符串的末尾都有逗号 ','。
如何检查最后一个字符是否为“,”并将其替换为“”?我无法使用 STRING_AGG 在 SQL Server 2014 中不可用。
完成 CASE
后,您可以检查字符串的最后一个字符是否为逗号,然后执行一些 CASE
-ing 替换它。
DECLARE @s NVARCHAR(100)= 'a,b,c,';
SET @s = CASE WHEN RIGHT(@s, 1) = ',' THEN SUBSTRING(@s,1,LEN(@s)-1) ELSE @s
END;
SELECT @s;
@s
是您的所有连接工作的字符串。
在我的 SSRS 报告中,我使用的查询基于值连接多个字符串:
CONCAT(
CASE WHEN tu.TU_Ht_NREZ = 1 THEN 'Nichtraumzimmer, ' ELSE '' END,
CASE WHEN tuex.Doppelzimmer = 1 THEN 'Doppelzimmer, ' ELSE '' END,
CASE WHEN tuex.AllergikerBettwaesche = 1 THEN 'Allergiker Bettwäsche, ' ELSE '' END,
CASE WHEN tu.TU_Ht_VegEssen = 1 THEN 'Vegetarisch, ' ELSE '' END,
CASE WHEN tu.TU_Ht_SchwbEZ = 1 THEN 'Schwerbehindert, ' ELSE '' END,
CASE WHEN tuex.VeganesEssen = 1 THEN 'Veganes Essen, ' ELSE '' END,
CASE WHEN tuex.GlutenfreiseKost = 1 THEN 'Glutenfreie Kost, ' ELSE '' END,
CASE WHEN tuex.Rollstuhl= 1 THEN 'Rollstuhl' ELSE '' END
) AS TeilnehmerBemerkung
但是,如果 'Rollstuhl' 没有添加到字符串中,那么整个字符串的末尾都有逗号 ','。
如何检查最后一个字符是否为“,”并将其替换为“”?我无法使用 STRING_AGG 在 SQL Server 2014 中不可用。
完成 CASE
后,您可以检查字符串的最后一个字符是否为逗号,然后执行一些 CASE
-ing 替换它。
DECLARE @s NVARCHAR(100)= 'a,b,c,';
SET @s = CASE WHEN RIGHT(@s, 1) = ',' THEN SUBSTRING(@s,1,LEN(@s)-1) ELSE @s
END;
SELECT @s;
@s
是您的所有连接工作的字符串。