我有一个包含 CASE 语句的 SQL Server 存储过程。但是,如果多个条件成立,我需要附加这些值。
因此,如果某个特定记录有失效日期 And 超出里程,我希望这两个值都显示在不可归档原因柱子。
我将如何实现这一目标?
, CASE
WHEN DateOfLoss < PolicyStartDate THEN 'Invalid Date'
WHEN MilesDriven > TotalMilesAllowed THEN 'Mileage exceeded'
WHEN LossStatusCode != 'R' THEN 'Status code is Review'
Else 'Unknown issue'
END
As NotArchiveableReason
如果您想连接结果,例如Invalid Date, Mileage Exceeded
那么您可能正在寻找类似的东西。
ISNULL(
NULLIF(
STUFF(
CASE WHEN DateOfLoss < PolicyStartDate THEN ', Invalid Date' ELSE '' END
+ CASE WHEN MilesDriven > TotalMilesAllowed THEN ', Mileage exceeded' ELSE '' END
+ CASE WHEN LossStatusCode != 'R' THEN ', Status code is Review' ELSE '' END
, 1, 2, '')
,'')
, 'Unknown issue')
As NotArchiveableReason
The STUFF()
删除前导逗号。这NULLIF()
将空字符串转换为 null。这ISNULL()
当没有任何一个时,将填充“未知问题”CASE
满足声明条件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)