Это слишком долго для комментария.Я не понимаю, как вы пришли к выводу, что - 1
в запросе является причиной вашей проблемы.
Этот запрос в порядке:
SELECT Mitarbeiter,
(CASE WHEN Storno = 1 THEN Dauer * -1
WHEN Storno = 0 THEN Dauer
END) AS Wert
FROM Werte
WHERE Mitarbeiter IN (:mitarbeiter);
Было бы проще написатькак:
(CASE WHEN Storno = 1 THEN - Dauer
WHEN Storno = 0 THEN Dauer
END) AS Wert
Или, если Storno
принимает только значения 0 и 1:
(1 - 2 * Storno) * Dauer as Wert
Я сомневаюсь, что * -1
это ваша проблема, если нет необычногосимвол в строке.
Ошибка индекса 1 вне диапазона из-за java , а не SQL .Это указывает на ошибку в запросе, где он не может быть запущен. Вы должны проверить ошибку, возвращающуюся из базы данных, чтобы увидеть, что происходит.