可愛的琪琪,開心快樂每一天
          溫馨小屋
          可愛的琪琪,開心快樂每一天
          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效率確實很低  回復  更多評論
            

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


          網站導航:
           
          主站蜘蛛池模板: 凤阳县| 乌拉特中旗| 龙岩市| 南阳市| 云浮市| 宁晋县| 石阡县| 宁化县| 郁南县| 雷波县| 绥芬河市| 南召县| 上思县| 沙河市| 吴旗县| 福海县| 林芝县| 西充县| 德阳市| 津市市| 观塘区| 青铜峡市| 荃湾区| 绿春县| 都昌县| 扶风县| 呼玛县| 夏河县| 鄂州市| 武川县| 保山市| 庄河市| 惠东县| 承德市| 岳阳县| 凭祥市| 曲松县| 怀柔区| 方山县| 滁州市| 郸城县|