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

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


          網站導航:
           
          主站蜘蛛池模板: 深水埗区| 土默特左旗| 平昌县| 漠河县| 吐鲁番市| 久治县| 高平市| 梁山县| 儋州市| 万源市| 昌平区| 泗阳县| 长乐市| 阜城县| 铁力市| 扎兰屯市| 舞钢市| 林甸县| 新绛县| 三穗县| 资源县| 延吉市| 隆化县| 红原县| 苏尼特左旗| 安平县| 筠连县| 涞源县| 资兴市| 繁峙县| 会同县| 略阳县| 东丰县| 岳阳市| 弥勒县| 彩票| 寿阳县| 调兵山市| 商城县| 云阳县| 恩平市|