我的 Oracle 数据库中使用的当前 ID 字段是 10 位数字。我对此 ID 有 9 个字符而不是 10 个字符的业务要求。我想考虑将此 ID 转换为字母数字,以便我可以将现有的 10 位 ID 1 对 1 映射到新的 9 个字符长的字母数字值.
Oracle(甚至在 Oracle 之外)中是否存在可以执行此操作的现有功能,即将所有数值转换为字母数字,但也将其从 X 字符“缩小”为 X-1,并且没有任何映射“冲突”?
我还应该补充一点,一旦我进行了这种转换,我还希望能够生成遵循这种新格式的新 id。
鉴于切换到字母数字给我的“空间”量,所有当前的 10 位数字都将适合 5 个字母数字字符的空间。所以我想我只是将 0000 放在 5 个字母数字字符的前面。因此,假设我的“最高”映射 ID 值是“ZZZZ”,那么我会在前面加上“0000”使其成为“0000ZZZZZ”。我生成的下一个数字 ID 将是“0001ZZZZZ”。