Oracle CAST函式不生效

yangtingkun發表於2007-11-14

Oracle9204Cast函式轉化NUMBER型別無效。


簡單的測試如下:

SQL> CREATE TABLE T_CAST AS SELECT CAST(1 AS NUMBER(5)) ID FROM DUAL;

表已建立。

SQL> DESC T_CAST
名稱 是否為空? 型別
--------------------------------------------- -------- ----------
ID NUMBER

SQL> SELECT * FROM V$VERSION;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 -
Production PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production

同樣的操作在10.2.0.3上結果正常:

SQL> CONN YANGTK/YANGTK@YTK已連線。
SQL> CREATE TABLE T_CAST AS SELECT CAST(1 AS NUMBER(5)) ID FROM DUAL;

表已建立。

SQL> DESC T_CAST
名稱 是否為空? 型別
--------------------------------------------- -------- --------------
ID NUMBER(5)

SQL> SELECT * FROM V$VERSION;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production

查詢metalink發現果然是Oraclebug,詳細描述參考:Bug No. 3138341。受影響的版本包括817491049204Oracle10.1.0.2fix了這個bug

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69501/,如需轉載,請註明出處,否則將追究法律責任。

相關文章