Я начинаю изучать SQL и Java, и у меня есть проблема.
Логика для кода:
Первая часть оператора sql должна быть "a.stdn_code_ts", и так как включено больше элементов (в данном случае кода студента), мне нужнообъединить с оператором OR-Statement.
Коды учеников могут быть одним значением или диапазоном, например, допустимо «567777» и «567777-876677».
Если оноэто одно значение, просто добавьте "=", затем код студента.В примере, если пользователь ввел «567777», запрос должен выглядеть примерно так: «a.stdnt_code_ts =« 567777 »
Если это диапазон, добавьте первый код ученика, а затем« МЕЖДУ »второй код.То есть: если пользователь ввел '567777-876677', запрос должен быть "a.stdnt_code_ts BETWEEN '567777' AND '876677'".
и, как я упоминал выше, если есть 2 или более кодов учениковзапрос должен быть объединен с «ИЛИ a.stdnt_code_ts», а затем снова проверяет, является ли это одно значение или диапазон.
У меня уже есть этот код и застрял:
private void formatStudentCode(Connection connection) throws Exception {
studentCode = "a.stdnt_code_ts ";
for(int i=0; i < stdntCode.size(); i++) {
if (stdntCode.get(i).indexOf("-")==-1) {
studentCode += "= '" + stdntCode.get(i) + "'";
}
else {
String [] range=stdntCode.get(i).split("-");
studentCode += "BETWEEN '" + range[0] + "' AND '" + range[1] +
"'";
}
}
}