我的ID字段只是数字,但ID的长度不一。如果数字是16个字符长,那么我需要显示ID的'x'+最后4个,如果没有,那么只显示ID的最后10个。
答案 0 :(得分:0)
如果您的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 String'):
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