当前位置: 首页 > 知识库问答 >
问题:

talend中的字母数字计数器以生成id

班高明
2023-03-14

我试图在talend中找到一种方法来生成一个字母数字计数器,该计数器以以下方式创建数字:YYXXXXXXXX

哪里

    null
00000001
00000002
00000003
...
99999999

A0000001
A0000002
A0000003
...
A9999999

B0000001
B0000002
B0000003
...
B9999999

Z0000001
Z0000002
Z0000003
...
Z9999999
...

ZA000001
ZA000002
ZA000003
...
ZA999999

......
ZZZZZZZZ

我们一年中能容纳的最后一个id将是20zzzzzzzz

这怎么做?

共有1个答案

计光赫
2023-03-14

基本上,它将数字(long)转换为基数为36的基数,用前面的0填充以匹配格式,连接当前年份的最后两位数字,并以字符串形式返回结果。

import java.time.LocalDateTime; //for getting the current year from system clock
public static String codegen(long input) {
    String lastTwoDigitsOfYear = Integer.toString(LocalDateTime.now().getYear()).substring(2); // the "YY"
    String radixOf36Base = Long.toString(input, 36).toUpperCase();
    String radixOf36BasePadded = String.format("%8s", radixOf36Base).replace(' ', '0'); //the "XXXXXXXX"
    return lastTwoDigitsOfYear + radixOf36BasePadded; //YYXXXXXXXX
    }
 类似资料:
  • 如何像 Rxt-AA0001 Rxt-AA0002 Rxt-AA0003 ... ... Rxt-AA9999 Rxt-AB0001 Rxt-AB0002 用这个 这是我在模型中的用户id 我能够生成Alpha数字id,但我不确定如何增加字符

  • 问题内容: 如何生成(伪)随机字母数字字符串,例如:PHP中的“ d79jd8c”? 问题答案: 首先用所有可能的字符组成一个字符串: 您还可以使用range()更快地完成此操作。 然后,在一个循环中,选择一个随机数并将其用作字符串的索引以获取随机字符,然后将其附加到您的字符串中: 是随机字符串的长度。

  • 问题内容: 如何在Swift中生成随机的字母数字字符串? 问题答案: Swift 4.2更新 Swift 4.2在处理随机值和元素方面引入了重大改进。您可以在此处阅读有关这些改进的更多信息。这是减少到几行的方法: Swift 3.0更新 原始答案:

  • 现在我正在做 但是有没有更好的方法呢?类似于Scala的

  • 问题内容: 现在我在做 但是有更好的方法吗?类似于Scala的 问题答案: 我认为这样可以使操作更简洁,您不必处理减法和索引编制:

  • 问题内容: 我试图实现的目标很简单,但是很难解释,而且我不知道在postgres中它是否甚至有可能实现。我处于一个基本的水平。,等等基本的东西。 我试图计算包含特定字母/数字的行数,并根据字母/数字显示该计数。 即有多少行的条目包含“ a / A”(不区分大小写) 我要查询的表是电影名称的列表。我要做的只是对“ az”和“ 0-9”进行分组并计数,然后输出总计。我可以依次运行36个查询: 然后在结