關於Ibatis 轉換 oracle date型別的問題
最近遇到兩個關於Ibatis 轉換date型別的問題,記錄一下:
sql_text:
select distinct t.cc from aa t
where t.update_time > :1 and t.update_time < :2
Optimizer Plan:
-----------------------------------------------------------------------------------------------------------
| Operation | Name | Rows | Bytes| Cost | Pstart| Pstop |
------------------------------------------------------------------------------------------------------------
| SELECT STATEMENT | | | | 226780 | | |
| HASH UNIQUE | | 5K| 72K| 226780 | | |
| FILTER | | | | | | |
| TABLE ACCESS FULL |AA | 69K| 949K| 226774 | | |
------------------------------------------------------------------------------------------------------------
開始一看以為是沒建索引,但是發現索引是存在的,同時explain plan 發現走的也是正確的執行計劃。
懷疑是統計資訊的問題,於是重新收集了統計資訊,並重新生成了執行計劃,但是還是同樣的。因為那天通宵了一夜,
頭腦比較暈,沒明白是怎麼回事。
回家後仔細看了一下v$sql_plan ,發現如下資訊:
(INTERNAL_FUNCTION("S"."UPDATE_TIME")>=:1 AND INTERNAL_FUNCTION("S"."UPDATE_TIME")<:2>
表示oracle對這個欄位做了轉換後再去比較,於是懷疑應用裡的型別不對,開發同事提供瞭如下sql,雖然他傳入配置檔案的屬性是date型。
但是IbatiS並沒有轉換成oracle能識別的date型:
select distinct t.cc from aa t
where t.update_time > #startTimeStr# and t.update_time < #endTimeStr#
於是通知開發修改語句:
update_time >= to_date(#startTimeStr#,'yyyy-mm-dd hh24:mi:ss') and update_time < to_date(#endTimeStr#,'yyyy-mm-dd hh24:mi:ss')
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/758322/viewspace-714469/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle timestamp轉換date及date型別相減Oracle型別
- ibatis查詢date型別BAT型別
- 關於long型別的轉換型別
- 將timestamp型別轉換為date型別型別
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- cgo 型別轉換問題??Go型別
- 日期型別轉換問題型別
- ORACLE DATE型別和TIMESTAMP型別DUMP換算Oracle型別
- 請教關於ibatis的問題BAT
- 字串和Date型別之間的轉換字串型別
- date和timestamp型別之間的轉換型別
- 一個簡單函式—Number型別轉換Date型別函式型別
- 關於mysql字元和數字型別轉換的問題研究MySql字元型別
- 救命,關於類轉換問題
- 【關於Javascript】--- 隱式型別轉換篇JavaScript型別
- tp5.0 的模型型別轉換問題模型型別
- Oracle timestamp型別轉換date格式指令碼(精確到秒)Oracle型別指令碼
- 關於JS的編碼轉換問題JS
- Double型別轉換成BigDicimal問題型別
- oracle資料型別date和timestamp的轉化Oracle資料型別
- Oracle Long型別轉換為Clob型別Oracle型別
- 關於時間轉換 SimpleDateFormat 的使用的問題ORM
- 關於int型別數值的運算問題型別
- jivejdon中javax.mail.Session的型別轉換問題。JavaAISession型別
- oracle 資料型別轉換Oracle資料型別
- Oracle中date型別使用注意Oracle型別
- Struts2日期型別轉換問題???型別
- Java中關於String型別的10個問題Java型別
- 關於直方圖中關於字元型別的ENDPOINT_VALUE欄位的轉換直方圖字元型別
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- ORACLE DATE和TIMESTAMP資料型別的比較(一) (轉)Oracle資料型別
- ORACLE DATE和TIMESTAMP資料型別的比較(二) (轉)Oracle資料型別
- Oracle中Date的各種格式轉換Oracle
- PHP 型別轉換&&型別強制轉換PHP型別
- 關於cin能識別輸入的資料型別(過載操作符&型別轉換)資料型別
- date型別型別
- 關於Oracle字元型別的比較Oracle字元型別
- java型別轉換與強制型別轉換(轉)Java型別