Как Apache Derby обрабатывает пустой список в предложении WHERE IN ()

#sql #derby #where-in #javadb

#sql #derby #где-в #javadb

Вопрос:

Привет, этот оператор sql выполняется, как и ожидалось

 select * from table where id in(1,2,3);
  

Но есть вероятность, что предложение IN() должно быть пустым, как показано ниже

     select * from table where id in();
  

Apache Derby жалуется на
syntax error : encountered ")" at line n

Mysql знает, как справиться с такой ситуацией, и не вернет никакого значения, как мне заставить apache derby действовать так же, как mysql, когда дело доходит до такого пустого списка?

Комментарии:

1. IN () недопустимый SQL и будет отклонен любой уважающей себя базой данных. Известно, что MySQL на самом деле не заботится о правильном синтаксисе SQL. Вы должны исправить свой код, чтобы генерировать допустимые операторы SQL.