[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
- [20120817]sqlplus 輸出html格式.txtSQLHTML
- [20190720]sqlplus 與輸出& 2.txtSQL
- [20131119]sqlplus顏色輸出.txtSQL
- SQLPLUS執行輸出SQL
- [20131104]通過pipe儲存sqlplus的輸出.txtSQL
- Ubuntu下搜狗輸入法無法輸入中文Ubuntu
- [20171205]uniq命令的輸入輸出.txt
- SQLPLUS命令列儲存輸出資訊SQL命令列
- sqlplus / as sysdba無法登入的奇怪報錯SQL
- 在sqlplus全部輸出clob欄位的內容SQL
- ThinkPHP裡無法輸出圖片 設定響應頭PHP
- sqlplus無法啟動的問題及解決SQL
- sqlplus與空行.txtSQL
- 在sqlplus中呼叫in out輸入輸出引數的儲存過程SQL儲存過程
- 無法直接啟動帶有“類庫輸出型別”的專案型別
- sqlplus格式化輸出(輸出結果顯示在同一行)SQL
- 輸入和輸出基礎語法
- 在web上逐行輸出較大的txt檔案Web
- Java輸出流在txt檔案中的換行控制Java
- elementUI 的 input無法輸入bug解決UI
- sqlplus sys/oracle@orcl as sysdba無法登入SQLOracle
- win10鍵盤無法輸入任何東西 win10鍵盤無法輸入的方法Win10
- 如何讓sqlplus spool輸出的檔案成excel檔案SQLExcel
- 關於輸出的小語法點
- 解決RAW在SQLPLUS上無法顯示的問題SQL
- win10聲音無法找到輸出裝置怎麼辦 win10聲音找到輸出裝置的方法Win10
- Win10電腦搜狗輸入法無法輸入中文及輸入法欄不見了的解決方法Win10
- windows XP CMD中無法輸入中文的解決辦法Windows
- python基本語法_輸入輸出詳解Python
- sqlplus中設定在螢幕中上不列印出輸出SQL
- win10聲音無法找到輸出裝置怎麼辦的解決方法Win10
- [20220822]奇怪的ashtop輸出.txt
- sqlplus下無法shutdown情況下不妨試試crsctlstopcrsSQLTLS
- win10系統下中文輸入法無法輸入中文如何解決Win10
- Linux Ubuntu 20.04 LTS 解決無法輸入中文 輸入法問題LinuxUbuntu
- 解決同時安裝搜狗輸入法和谷歌輸入法後fcitx無法使用谷歌
- 20241112