[20241112]無法理解sqlplus的輸出.txt
--//昨天遇到的問題,執行10tox.sql指令碼出現一些狀況。分析認為oracle 把8d當作數字。
--//但是還是遇到我無法理解的情況:
1.環境:
SCOTT@book> @ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
2.測試:
SCOTT@book> select 1a,2b,3c,4d,5e,6f,7z1 from dual ;
A B C 4D E 6F Z1
---------- ---------- ---------- ---------- ---------- ---------- ----------
1 2 3 4.0E+000 5 6.0E+000 7
--//實際上就是將1a 變成 1 A,A作為了欄位名。
--//但是4d,6f出現科學計數法的輸出格式,為什麼?
SCOTT@book> @ hash
HASH_VALUE SQL_ID CHILD_NUMBER KGL_BUCKET PLAN_HASH_VALUE HASH_HEX SQL_EXEC_START SQL_EXEC_ID
---------- ------------- ------------ ---------- --------------- ---------- ------------------- -----------
2105708413 b34gktxys53vx 0 36733 1388734953 7d828f7d 2024-11-12 17:27:40 16777216
SCOTT@book> @ expand_sql_text b34gktxys53vx
SELECT 1 "A",2 "B",3 "C",4d "4D",5 "E",6f "6F",7 "Z1" FROM "SYS"."DUAL" "A1"
PL/SQL procedure successfully completed.
--//展開後出現4d "4d",6f "6f"的情況,不理解。似乎有時候d f代替e的功能。
--//再貼一些例子:
SCOTT@book> select 8d+3e+5f from dual ;
8D+3E+5F
----------
3.0E+005
SCOTT@book> set numw 20
SCOTT@book> select 8d+3e+5f from dual ;
8D+3E+5F
--------------------
3.00008E+005
--//相當於解析位 8 + 3e5 。
SCOTT@book> select 8e+3d+5f from dual ;
8E+3D+5F
--------------------
8.005E+003
--//8e3 + 5。
SCOTT@book> select 1a + 2b from dual ;
select 1a + 2b from dual
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
--//這樣寫不能參與計算的。
SCOTT@book> select 16O from dual ;
O
--------------------
16
SCOTT@book> select 8+16o from dual ;
O
--------------------
24
SCOTT@book> select 16o+8 from dual ;
select 16o+8 from dual
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
SCOTT@book> select 16d+8 from dual ;
16D+8
--------------------
2.4E+001
--//那位給出一些解析,oracle為什麼這樣設計。
--//晚上想一想,似乎d表示decimal,f表示浮點型,e表示冪數,輸出採用科學計數法。
SCOTT@book> select 4d,5d ,5.3d ,5.4de, 5.5fd from dual ;
4D 5D 5.3D E D
---------- ---------- ---------- ---------- ----------
4.0E+000 5.0E+000 5.3E+000 5.4E+000 5.5E+000
--//一些細節留給大家揣摩吧...
[20241112]無法理解sqlplus的輸出.txt
相關文章
- [20190524]sqlplus 與輸出&.txtSQL
- [20190720]sqlplus 與輸出& 2.txtSQL
- [20201218]dbms_output.put_line無法輸出前面的空格.txt
- [20230323]sqlplus #.txtSQL
- [20211123]sqlplus @與@@的區別.txtSQL
- [20211111]奇怪的ashtop輸出.txt
- [20220822]奇怪的ashtop輸出.txt
- [20210924]awk奇怪的輸出.txt
- 20241112
- [20210419]避免冗餘的輸出.txt
- [20190215]sqlplus set arraysize.txtSQL
- [20190530]sqlplus preliminary connection.txtSQL
- [20211125]sqlplus生成html格式.txtSQLHTML
- [20211108]sqlplus管道過濾.txtSQL
- [20201106]11g查詢DBA_TAB_MODIFICATIONS無輸出.txt
- [20210924]awk奇怪的輸出2.txt
- [20221203]sqlplus set trimspool 問題.txtSQL
- [20230417]sqlplus warpped word_warp.txtSQL
- [20221202]sqlplus set trimout 問題.txtSQL
- [20191119]探究ipcs命令輸出.txt
- [20200317]NULL與排序輸出.txtNull排序
- [20211220]記錄使用sqlplus的小問題.txtSQL
- [20210722]sqlplus下show recycebin的小問題.txtSQL
- [20230405]奇怪的顯示輸出寬度.txt
- [20180510]sqlplus array 和 opifch2.txtSQL
- [20191104]sqlplus 管道檔案 過濾.txtSQL
- [20211220]sqlplus簡單計算器.txtSQL
- [20211108]sqlplus 本地登入緩慢.txtSQL
- [20210119]sqlplus 12c LOBPREFETCH.txtSQL
- ThinkPHP裡無法輸出圖片 設定響應頭PHP
- [20200306]expand格式化輸出.txt
- [20210902]cut使用輸出問題.txt
- [20210301]延遲顯示輸出.txt
- [20191204]sqlplus特殊定義導致的問題.txtSQL
- [20231003]windows 2003無法啟動.txtWindows
- 20241112打卡
- [20190108]rlwrap sqlplus tee相關問題.txtSQL
- [20181122]18c sqlplus set linesize.txtSQL