簡體   English   中英

SQLPLUS SPOOL-在NUMBER字段上添加TO_CHAR,添加尾隨空格

[英]SQLPLUS SPOOL - TO_CHAR on NUMBER field adding a trailing space

嗨,我正在使用sql腳本,使用后台打印命令將數據提取到文件中。 我正在將一個數字列轉換為to_CHAR,並在末尾添加了額外的空間。 我已經使用FM0000作為格式,但是不確定將數字轉換為字符時為什么要添加尾隨空格。

我在腳本中使用以下

SET SPACE 0
SET LINESIZE 1000
SET TRIMSPOOL ON
--SET TRIMOUT ON
SET TERMOUT OFF
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SPOOL /u05/oracle/loadarea/Paragon/iib/data/rdrmst.dat

SELECT TO_CHAR(RDRMST_ODOMETER,'FM000000') FROM TABLE

請告訴我

嘗試:

SELECT LTRIM(RTRIM(TO_CHAR(RDRMST_ODOMETER,'FM000000'))) FROM TABLE

LTRIM-刪除前導空格

RTRIM-刪除尾隨空格

當使用TO_CHAR()將數字轉換為固定寬度的字符串時,該空格用於符號。 處理它的正確方法是像執行操作一樣使用Format Mask格式。 考慮一下:

SQL> SELECT '['||TO_CHAR(4000,'0009')||']'    test1,
            '['||TO_CHAR(-4000,'0009')||']'   test2,
            '['||TO_CHAR(4000,'FM0009')||']'  test3,
            '['||TO_CHAR(-4000,'FM0009')||']' test4
     FROM dual;

TEST1   TEST2   TEST3   TEST4
------- ------- ------- -------
[ 4000] [-4000] [4000]  [-4000]

SQL>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM