DATEDIFF не работает в JAVAJAVA

Программисты JAVA общаются здесь
Anonymous
DATEDIFF не работает в JAVA

Сообщение Anonymous »

Я запускаю запрос из JAVA, запрос содержит функцию DATEDIFF, в которой параметром является ключевое слово, мы можем указать гг, мм, день и т. д. поэтому я получаю это ключевое слово от пользователя в качестве параметра и устанавливаю его в запросе, но проблема в том, что он не выполняется, он выдает исключение как неверный параметр для аргумента 1. Если я запускаю тот же запрос в КЛИЕНТЕ, он дает результат, но если я даю кавычки ключевому слову, например «день», он дает то же самое ошибка также в КЛИЕНТЕ. Итак, мой вопрос, как мне установить его в запросе из JAVA. Сейчас делаю примерно так

Код: Выделить всё

for (String param : params) {
try {
namedParameterStatement.setObject(param,requiredFilterValues.get(param));
} catch (RuntimeException e) {
}
}
Я использую этот запрос

Код: Выделить всё

SELECT CUST_KEY,Eff_Date_From,Eff_Date_To,  DATEDIFF(:intervals,Eff_Date_From,Eff_Date_To) as datediffs,Active  FROM CUSTOMER_DIM   WHERE Active = :active
Я передаю значения для интервалов параметрови активен. Проблема связана с :intervals, поскольку он принимает ключевые слова.

Я думаю, что Java-программа устанавливает параметр как строку, поэтому она генерирует ошибку. Как я могу это реализовать?

Подробнее здесь: https://stackoverflow.com/questions/352 ... ng-in-java

Вернуться в «JAVA»