JDBC - “大于运算符(>)”不起作用

时间:2014-05-06 20:49:26

标签: java jdbc resultset

看看:

     String Pedidos = " select account_order_id , fk_account_id , order_created" +
             " from account_order " +
             " where order_created >= '2014-01-01 00:00:00' ";                      

      try {             
            stmt = siteConn.createStatement();              
             rs2 = stmt.executeQuery(Pedidos);

             List <Pedido> pedidos = new ArrayList <Pedido> () ;
             System.out.println(Pedidos);
             System.out.println(rs2.next());
            while (rs2.next()){

我的resultSet.next()返回False,尽管事实上有数千个结果......

当我将操作符更改为&#34;小于(&lt;)&#34;它没有任何麻烦!

是的,有人能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

我不知道您使用的是什么数据库,但我猜您的问题与您的日期有关。您的sql客户端可能正在设置会话变量,该变量会更改日期的预期格式。

在oracle中我会这样做:

String Pedidos = " select account_order_id , fk_account_id , order_created" +
                 " from account_order " +
                 " where order_created >= to_date('2014-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')";  

在其他数据库中,您使用不同的功能:

  • sqlserver使用convert
  • mysql使用str_to_date
  • postgres使用to_date