0
我有一个文本框,我需要在变量中给出输入。输入是用于数据库表的扩展列和数字被视为String.Here是输入条件:字符串拆分基于java中的字符的操作
- 只有一个输入像5028
- 输入用连字符( - )分隔,如5028-5090。
- 用逗号(,)分隔的输入,如5028,5029。
- 输入包含单个输入,连字符和逗号,在单个输入处分隔,如5029,1234-4567,9876。
我已经写了条件形成的查询只有一个输入,输入由连字符隔开,输入用逗号单独分开..Now按照我的需要我必须写在那里我必须像输入格式查询条件5029,1234-4567,9876但我没有得到确切的逻辑..
这里是我的代码..
if (extension != "") {
if (extension.contains(",")) {
query = query.concat(" and (extension='");
String extn[] = extension.split(",");
for (int i = 0; i < extn.length; i++) {
System.out.println(extn[i]);
query = query.concat(extn[i]).concat("'").concat(" or extension='");
System.out.println(query);
}
query = query.substring(0, query.length() - 15);
System.out.println(query);
query = query.concat(")");
System.out.println(query);
} else if (extension.contains("-")) {
query = query.concat(" and cast(extension as signed) >=");
String extn[] = extension.split("-");
for (int i = 0; i < extn.length; i++) {
System.out.println(extn[i]);
query = query.concat(extn[i]).concat(" And cast(extension as signed) <=");
}
query = query.substring(0, query.length() - 33);
System.out.println(query);
} else {
query = query.concat(" and extension='" + extension).concat("'");
System.out.println(query);
}
}
请你们帮助我.. 在此先感谢。
对不起,但我不明白你的问题。你有一个复杂的值设置像5029,1234-4567,9876,你想运行一个SELECT查询返回值为5029,1234,4567或9876的行吗? –
@AycanYaşıt是的先生正是我想要做的一样 – vikas
@AycanYaşıt我需要给条件合成查询时,值如5029,1234-4567,9876给出 – vikas