我有一个ID字段,它只是数字,但是ID的长度是不同的。如果数字是16个字符长,那么我需要显示'x‘+最后4个ID,如果不是,那么只显示最后10个ID。
发布于 2015-10-13 23:11:49
如果您的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)
ENDhttps://stackoverflow.com/questions/33107897
复制相似问题