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 是您的所有连接工作的字符串。