我有一个我无法解决的问题:(

我执行以下sql语句以获取CCID字符串的最大值:

                "select MAX(CCID) as test123 from "
                        + tabelleName+ " where CCID like 'W%'");


之后,我想增加字符串。我将W子字符串化并将字符串转换为int:

                String ccid = rs.getString("test123");
                String test = ccid.substring(1,6);
                int id = Integer.parseInt(test);
                int newid = id+1;


目前,max(ccid)看起来像W01352。
newid的结果是“ 1353”,而没有“ W0”。

我想获得一个像W01353这样的字符串,可以将其添加到db2-数据库中以获取下一个W-Number。

有人知道吗?

对不起,我的英语不太好;)

感谢你。

最佳答案

也许您可以看一下db2 substring函数:http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.sqlref%2Fsrc%2Ftpc%2Fdb2z_bif_substring.htm

您可以尝试select substring(MAX(CCID), 2, x) as test123 from ..

其中x是所需的类型:CODEUNITS16CODEUNITS32,..

这应该返回不带W0的值

编辑

要将前导零添加到新整数,请执行以下操作:

String old = "W01234";
String sub = old.substring(1); // "01234"
Integer id = Integer.parse(sub); //1234
Integer newI = id + 1; // 1235
String newS = "W" + ("00000" + newI).substring(newI.toString().length()); // "W01235"

关于java - 如何修改SQL语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22194094/

10-09 07:58