可愛的琪琪,開心快樂每一天
          溫馨小屋
          可愛的琪琪,開心快樂每一天
          posts - 7,comments - 39,trackbacks - 0

          ? 思路是先將oracle中時間字段轉化成字段串,然后與字符串模糊查詢
          如下:
          select * from atm1_operatelog t where to_char(t.operatetime,'yyyy-MM-dd') like '2006-10-16'

          同時反過來也是一樣可行的
          select * from atm1_operatelog t where t.operatetime like to_date('2006-10-16','yyyy-MM-dd')
          將字段串轉化為時間然后使用like關鍵字

          posted on 2006-10-17 15:45 陳琪 閱讀(4907) 評論(8)  編輯  收藏

          FeedBack:
          # re: oracle時間模糊查詢
          2006-10-17 23:50 | someone
          在where子句中使用數據庫函數,會導致索引無法使用。
          而且在sql里面用上數據庫特定函數的話,對移植性也有影響。

          個人認為日期模糊查詢較好的做法是使用JDBC的PreparedStatement,sql寫標準sql(與數據庫無關),日期值用? 然后代碼里面將日期的范圍值set進去,把日期處理交給JDBC來做。

          如上面例子 select * from atm1_operatelog t where t.operatetime < ? and t.operatetime > ?

          代碼里面 PreparedStatement.setDate(1,date1);
          PreparedStatement.setDate(2,date2);
            回復  更多評論
            
          # re: oracle時間模糊查詢
          2006-10-18 08:46 | 陳琪
          你的意見是正確的,
          問題是該如何實現呢?能給個具體的例子么?
          你的想法我也考慮過,但是沒找到好的實現方法。
          你給個例子吧,讓大家都學習學習
          @someone
            回復  更多評論
            
          # re: oracle時間模糊查詢
          2006-10-18 09:19 | someone
          //get connection
          Connection con = xx;
          String sql = "select * from atm1_operatelog t where t.operatetime < ? and t.operatetime > ?";
          PreparedStatement p = con.preparedStatement(sql);
          DateFormat formater= new SimpleDateFormat("yyyy-MM-dd");
          //2006-10-16 means days before 2006-10-17 and after 2006-10-15
          p.setDate(1,formater.parse("2006-10-17"));
          p.setDate(2,formater.parse("2006-10-16"));
          ResultSet result = p.executeQuery() ;
          //process ResultSet
          ........
            回復  更多評論
            
          # re: oracle時間模糊查詢
          2006-10-18 14:30 | 123bingbing
          增開7群,號碼 30440732
          8群 30756649
          9群 30178567
          10群 28694497

          我們的qq群:15096318 學習程序的都可以來  回復  更多評論
            
          # re: oracle時間模糊查詢
          2006-10-18 18:01 | 有貓相伴的日子
          使用like效率很低沒必要這么轉吧!!!!!等于運算就可以了  回復  更多評論
            
          # re: oracle時間模糊查詢
          2006-10-19 09:00 | 陳琪
          someone,你的意思我明白了。
          p.setDate(1,formater.parse("2006-10-17"));
          p.setDate(2,formater.parse("2006-10-16"));
          思維不錯,受教了。
          @someone
          @123bingbing
          @有貓相伴的日子

          使用like效率確實很低。不過很多時候模糊查詢需要用到它  回復  更多評論
            
          # re: oracle時間模糊查詢
          2006-11-01 15:24 | zhousir
          利用to_char來轉化成字符形式是可行的,至于效率問題,可以創建函數索引--基于to_char(時間字段),那樣可以非常快的查詢出結果~  回復  更多評論
            
          # re: oracle時間模糊查詢
          2008-12-30 13:15 | 北京時間
          使用like效率確實很低  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 滁州市| 轮台县| 汝城县| 保德县| 同江市| 邯郸市| 中山市| 汨罗市| 乡宁县| 夏津县| 永吉县| 峡江县| 彭山县| 改则县| 定远县| 资兴市| 山丹县| 富川| 平定县| 大石桥市| 汉寿县| 肇东市| 绥化市| 巩留县| 石景山区| 开阳县| 边坝县| 宁都县| 沁水县| 江油市| 宜丰县| 永寿县| 奉贤区| 西城区| 南平市| 景泰县| 政和县| 沂源县| 囊谦县| 静安区| 新乡县|