java
  • sql
  • database
  • 2015-04-03 118 views -1 likes 
    -1
    String sql="SELECT room_no, suite_type, bed_type, suite_cost FROM room_detail "  
          + "where room_no NOT IN "+ 
          + "(SELECT room_no FROM booking_table WHERE DATE(date_out) >= '" 
          + strdtver1 
          + "' AND DATE(date_in) <= '" 
          + strdtver2 
          + "')"; 
    
    +0

    你有什么错误? – 2015-04-03 02:29:36

    +0

    ORA-00936:缺少表达 – user4744783 2015-04-03 02:46:39

    +0

    问题标记完全改变 - 您的问题似乎与Swing没有任何关系,因此我已经移除了该标记(这是您的* only *标记)。请注意您的问题标签,因为它们和问题标题是吸引专家解决问题的主要因素。 – 2015-04-03 03:37:23

    回答

    0

    您需要在比较之前将变量strdtver1设置为日期类型。

    所以,你的查询需要像下面的改变:

    String sql="SELECT room_no, suite_type, bed_type, suite_cost FROM room_detail "  
    + "where room_no NOT IN "+ 
    + "(SELECT room_no FROM booking_table WHERE TO_DATE(date_out,'DD-MON-YY') >= to_date('" 
    + strdtver1 
    + "','DD-MON-YY') AND TO_DATE(date_in,'DD-MON-YY') <= to_date('" 
    + strdtver2 
    + "','DD-MON-YY'))"; 
    

    而且,你并不需要在您的查询字符串分号。

    相关问题