Oracle
當我假離線到 CSV 時,前導零被截斷
我已經使用 sqlplus 將文件假離線到 CSV。一切都很好,但有一個問題。我有以 0 開頭的手機號碼,例如 04589 和 02586。
spooling 完成後,0 被截斷,最終結果為 4589 和 2586。
我希望輸出在 CSV 中顯示為:
04589 02586
字元串寫
""
在 CSV 之間。所以您的數據類型不是字元串類型,或者您用於查看 CSV 的工具會自動轉換和修剪它。[oracle@o71 ~]$ sqlplus -S bp/bp set markup csv on set echo off spool 1.csv select '04589' as phone from dual union all select '02586' from dual; "PHONE" "04589" "02586" exit [oracle@o71 ~]$ cat 1.csv "PHONE" "04589" "02586" [oracle@o71 ~]$
實現這一目標的最簡單方法:
將具有前導零的列與前綴連接起來
CHR(28)
,您就完成了。例如
spool file1.csv select numbercol from dual; select CHR(28)||numbercol from table; spool off;
CHR(28)
是 ASCII 值的不可見字元表示。