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