0
我有一个ID字段,只是数字,但ID的长度有所不同。如果数字长度为16个字符,那么我需要显示ID的最后4位的'x'+,如果不是,则只显示ID的最后10位。不同长度的Cognos Substr
我有一个ID字段,只是数字,但ID的长度有所不同。如果数字长度为16个字符,那么我需要显示ID的最后4位的'x'+,如果不是,则只显示ID的最后10位。不同长度的Cognos Substr
如果你的ID字段已经是一个字符串:
CASE character_length([ID])
WHEN 16 THEN 'x' || substring([ID],character_length([ID]) - 3)
ELSE substring([ID],character_length([ID]) - 9)
END
如果你的ID被存储为整数,我建议创建蒙上它作为一个varchar一个新的数据项(比如命名为“ID字符串“):
CAST([ID],VARCHAR(16))
则替换所述第一表达的新值:
CASE character_length([ID String])
WHEN 16 THEN 'x' || substring([ID String],character_length([ID String]) - 3)
ELSE substring([ID String],character_length([ID String]) - 9)
END
这完美地工作。非常感谢你! –