我有一个我无法解决的问题:(
我执行以下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
是所需的类型:CODEUNITS16
,CODEUNITS32
,..
这应该返回不带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/