Jdbc sql синтаксическая ошибка для даты

1
ResultSet resultObj = statementObj.executeQuery("SELECT EMPLOYEE_ID FROM JOB_HISTORY WHERE START_DATE > Convert(datetime, '2001-01-13' )");

Я получаю эту ошибку, когда Iam выполняет программу:

java.sql.SQLSyntaxErrorException: ORA-00904: "DATETIME": неверный идентификатор

Теги:
jdbc

3 ответа

2
Лучший ответ

Если вы используете Oracle, используйте синтаксис Oracle:

SELECT EMPLOYEE_ID
FROM JOB_HISTORY
WHERE START_DATE > DATE '2001-01-13';

Ключевое слово date позволяет использовать синтаксис стандарта ISO для констант даты.

  • 2
    Было бы более гибко использовать подготовленное утверждение и не беспокоиться о том, какой формат на самом деле хочет БД. Оставьте детали работы драйверу JDBC, это его работа.
0

попробуй это

Query ="SELECT EMPLOYEE_ID FROM JOB_HISTORY WHERE START_DATE >'2001-01-13' ";
ResultSet resultObj = statementObj.executeQuery(Query);
0

Попробуй это:

ResultSet resultObj = statementObj.executeQuery("SELECT EMPLOYEE_ID FROM JOB_HISTORY WHERE START_DATE > '2001-01-13'");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню