我正在尝试使用java和jdbc通过timestamp搜索sql中的表,但是当我将时间戳插入查询字符串时,我在小时图中得到一个sytax错误:
String queryString = "select " + tag + " from WATER_RUNTIME_VALUES
where Time_Stamp = 2015-06-150 8:58:00.0000000";
ResultSet rs = statement.executeQuery(queryString);
这是错误:
com.microsoft.sqlserver.jdbc.SQLServerException:'10'附近的语法不正确 . at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement (SQLServerStatement.java:792)com.microsoft.sqlserver.jdbc.SQLServerStatement $ StmtExecCmd.doExecute(SQLServerStatement.java:689)at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)at com . com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement . java:155)com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:616)at bandon.scada.core.InitConn.calculateHourlyTotal(InitConn.java:58)at bandon.scada.core.InitConn.dbConnect (InitConn.java:36)在bandon.scada.core . InitConn.main(InitConn.java:24)
4 回答
试试这个..
在日期参数中使用引号,
将单引号放在时间值中以转义
2015-06-150 8:58:00.0000000
中的空格或者更好用
PreparedStatement
日期必须在引号内