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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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