首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变长Cognos

变长Cognos
EN

Stack Overflow用户
提问于 2015-10-13 16:27:05
回答 1查看 805关注 0票数 0

我有一个ID字段,它只是数字,但是ID的长度是不同的。如果数字是16个字符长,那么我需要显示'x‘+最后4个ID,如果不是,那么只显示最后10个ID。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 23:11:49

如果您的ID字段已经是一个字符串:

代码语言:javascript
复制
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字符串”):

代码语言:javascript
复制
CAST([ID],VARCHAR(16))

然后在第一个表达式中替换新值:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33107897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档