Нет простого способа AFAIK. Если цель состоит в том, чтобы поддерживать высокий коэффициент кэша операторов (т. Е. Не создавать инструкцию для каждого количества параметров), вы можете сделать следующее:
NULL никогда не соответствует чему-либо, поэтому он оптимизируется разработчиком плана SQL.
Логику легко автоматизировать при передаче списка в функцию DAO:
while( i < param.size() ) {
ps.setString(i+1,param.get(i));
i++;
}
while( i < MAX_PARAMS ) {
ps.setNull(i+1,Types.VARCHAR);
i++;
}