0
例如,如果我们要找到它位于两个特定日期之间的表中的一些数据,我们写这样的查询:如何准备查询语句之间使用
Select * from TableName where Date lies between '01-01-2000' and '01-01-2002'
我只是想知道如何在PreparedQueryStatement中使用此查询?
例如,如果我们要找到它位于两个特定日期之间的表中的一些数据,我们写这样的查询:如何准备查询语句之间使用
Select * from TableName where Date lies between '01-01-2000' and '01-01-2002'
我只是想知道如何在PreparedQueryStatement中使用此查询?
您需要使用占位符字符串,然后传递的java.sql.Date
实例的PreparedStatement
String query = "Select * from TableName where some_date_column between ? and ?";
java.sql.Date dateOne = java.sql.Date.valueOf(LocalDate.of(2000, 1, 1));
java.sql.Date dateTwo = java.sql.Date.valueOf(LocalDate.of(2002, 1, 1));
PreparedStatement pstmt = connection.prepareStatement(query);
pstmt.setDate(1, dateOne);
pstmt.setDate(2, dateTwo);
ResultSet rs = pstmt.executeQuery();
... process the result ...
决不通时间(或时间戳或数字)为字符串!
注意,SQL BETWEEN
操作包括两个值。表达
some_date_column BETWEEN date '2000-01-01' and date '2002-01-01'
等同于:
some_date_column >= date '2000-01-01'
and some_date_column <= date '2002-01-01'
如果你想排除 '2002-01-01'行你需要:
some_date_column BETWEEN date '2000-01-01' and date '2001-12-31'
什么样的代码有你试过了吗? –
[使用JDBC在SQL中进行日期搜索?](https://stackoverflow.com/questions/19583806/searching-between-dates-in-sql-with-jdbc)或https://stackoverflow.com/问题/ 22309455/select语句两间的Java-SQL日期 – nos