Java 日期的Jdbc sql语法错误

Java 日期的Jdbc sql语法错误,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,我在执行程序时遇到此错误: java.sql.SQLSyntaxErrorException:ORA-00904:“日期时间”:无效标识符 ResultSet resultObj = statementObj.executeQuery("SELECT EMPLOYEE_ID FROM JOB_HISTORY WHERE START_DATE > Convert(datetime, '2001-01-13' )"); 如果您使用的是Oracle,请使用Oracle语法: ResultSet

我在执行程序时遇到此错误:

java.sql.SQLSyntaxErrorException:ORA-00904:“日期时间”:无效标识符

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

如果您使用的是Oracle,请使用Oracle语法:

ResultSet resultObj = statementObj.executeQuery("SELECT EMPLOYEE_ID FROM JOB_HISTORY WHERE START_DATE > '2001-01-13'");
date
关键字允许您对日期常量使用ISO标准语法。

试试这个

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

使用预先准备好的语句会更灵活,而不必担心DB实际需要什么格式。将详细工作留给JDBC驱动程序,这是它的工作。阅读手册总是有帮助的:
Query ="SELECT EMPLOYEE_ID FROM JOB_HISTORY WHERE START_DATE >'2001-01-13' ";
ResultSet resultObj = statementObj.executeQuery(Query);