oracle的兩個bug
前一陣子在網上查資料,看到了一個關於oracle日期型別的小bug。
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 – Production
[@more@]SQL> select 1 from dual where to_char(sysdate - 733021,'yyyy-mm-dd bc')=to_char(sysdate - 733022,'yyyy-mm-dd bc');
1
----------------------
1
也就是說sysdate – 733021與sysdate – 733022是相等的。我們都知道的,日期減一的話就是減少一天,而上面的例子中兩者卻是相等的。
SQL> select to_char(sysdate - 733021,'yyyy-mm-dd bc') from dual;
TO_CHAR(SYSDATE-733021,'YYYY-M
------------------------------
0000-00-00 00
SQL> select to_char(sysdate - 733022,'yyyy-mm-dd bc') from dual;
TO_CHAR(SYSDATE-733022,'YYYY-M
------------------------------
0000-00-00 00
問題就是出在了這個0000年上了。實際上是不存在0000年的,公元前一年接下來就是公元一年了。而oracle資料庫中卻引入了0000年。不大清楚為什麼oracle要引入0000年。
在我的這個版本的資料庫,上面的SQL不會有問題,而在一些其他的版本,上面的查詢是會報錯誤的,錯誤的 大概就是年度不能為0吧 ,錯誤號記不不清楚了。
這只是一個小問題,一般說來沒什麼影響。
有個同事發現的9i中的分割槽表的bug就十分弱智了,如果一個對不規則分割槽的訪問透過迴圈中的繫結變數的SQL執行,那麼在那些不規則的分割槽上將不會得到正確的結果。正確的SQL居然得到的錯誤的結果。還好,這個關於分割槽表的bug在10g中已經糾正了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8394333/viewspace-989979/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle的一個bugOracle
- 遇到ASM的兩個BUGASM
- [BUG反饋]兩個關於釋出文章的BUG
- React兩個bug踩坑React
- 【譯】Ringbahn的兩個記憶體Bug記憶體
- Oracle啟動兩個監聽Oracle
- oracle10.1.0.4.0bugOracle
- Oracle 12c 兩個新特性Oracle
- oracle interval日期函式的bug!Oracle函式
- Spring Boot 中的同一個 Bug,竟然把我坑了兩次!Spring Boot
- oracle計算兩個日期的時間差時分秒Oracle
- 點選label執行兩次的bug
- 有Oracle support identifier的沒?幫下載兩個補丁OracleIDE
- TestHome 的一個 Bug
- Snakeyaml的一個bugYAML
- 一個奇怪的 Bug
- [BUG反饋]AdminController類的一個小bugController
- 相容oracle的edit_distance_similarity 比較兩個字串相似度OracleMILA字串
- [BUG反饋]當新增兩個,或兩個以上富文字時其中一個富文字框的內容無法正常儲存到資料庫資料庫
- 為什麼Oracle要搞出兩個髒連結串列Oracle
- 從Oracle 11.2.0.4 BUG到Oracle子查詢展開分析Oracle
- Oracle DBLink bug引發的故障(Session Hang Memory leak)OracleSession
- ORACLE for aix 11.2.0.1 DATAPUMP expdp之BUG 9470768OracleAI
- 發現Mapstruct的一個bugStruct
- 一個排序引發的BUG排序
- Oracle:Redhat 7 + Oracle RAC 11g 安裝 bug 總結OracleRedhat
- [BUG反饋]許可權條目中缺少兩個公開方法的許可權設定
- 一個詭異的MySQL查詢超時問題,居然隱藏著存在了兩年的BUGMySql
- oracle保留兩位小數Oracle
- 10g sqlplus的一個bugSQL
- SpringBoot讀取yml的一個bugSpring Boot
- onethink安裝時的一個bug
- 一個與CONNECT BY相關的BUG
- 遭遇ORA-07445 的一個BUG
- 人人都寫過的5個Bug!
- 個人BUG記錄
- 資料庫管理-第123期 Oracle相關兩個引數(202301205)資料庫Oracle
- Echarts一個圖例可以共用兩個或者兩個以上的餅圖Echarts
- 找到Intel手冊裡的一個bugIntel