所示(oracle) 
system 和已复核 数据可以显示出来 但是列被截断了。 sql如下: 
set echo off 
set pagesize 0 
set feedback off 
set trims on 
set term off 
set head on 
--set newpage none 
set pagesize 50000 
set linesize 250/*这里设置少于200,标题名会更短,但是设置200以上,无论多少都会显示图所示长度*/ 
spool d:/FX_MAST_DEAL.csv 
/*省略掉select语句*/ 
spool off 
set echo on 
set feedback on 结果如下:前面字段省略 
'||LEG1_SELL_CCY||' '||LEG1_SELL_AMT||' '||MAST_NO||' 
--------------------------------------------------------------------------------------------------- 
**********             **********        **********            system     已复核 
**********             **********        **********            system     已复核 

解决方案 »

  1.   


    column LEG1_SELL_CCY format ...
    column LEG1_SELL_AMT format ...
    column MAST_NO format ...试下看看行不
      

  2.   

    在SQLPLUS 里,默认情况下 查询结果是SQL> conn sys/admin as sysdba;
    已连接。
    SQL> select * from all_objects;OWNER                          OBJECT_NAME
    ------------------------------ ------------------------------
    SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
    ------------------------------ ---------- -------------- -------------------
    CREATED        LAST_DDL_TIME  TIMESTAMP           STATUS  T G S
    -------------- -------------- ------------------- ------- - - -
    SYS                            ICOL$
                                           20              2 TABLE
    30-8月 -05     30-8月 -05     2005-08-30:13:50:24 VALID   N N NSYS                            I_USER1
                                           44             44 INDEX
    30-8月 -05     30-8月 -05     2005-08-30:13:50:25 VALID   N N N
    因为一行显示不下,所以分多行来显示。 可以通过命令来设置一行显示
    set wrap off这样当一样显示不下的时候,就会显示被截断SQL> set wrap off
    SQL> select * from all_objects;
    行将被截断行将被截断行将被截断行将被截断
    OWNER                          OBJECT_NAME                    SUBOBJECT_NAME
    ------------------------------ ------------------------------ ------------------SYS                            ICOL$
    SYS                            I_USER1
    SYS                            CON$
    SYS                            UNDO$
    SYS                            C_COBJ#
    SYS                            I_OBJ#
    SYS                            PROXY_ROLE_DATA$
    SYS                            I_IND1
    SYS                            I_CDEF2
    SYS                            I_PROXY_ROLE_DATA$_1
    SYS                            FILE$OWNER                          OBJECT_NAME                    SUBOBJECT_NAME
    ------------------------------ ------------------------------ ------------------SYS                            UET$
    SYS                            I_FILE#_BLOCK#
    SYS                            I_FILE1
    SYS                            I_CON1
    SYS                            I_OBJ3
    SYS                            I_TS#
    SYS                            I_CDEF4
    SYS                            IND$
    SYS                            SEG$
    SYS                            C_TS#
    SYS                            I_FILE2OWNER                          OBJECT_NAME                    SUBOBJECT_NAME
    ------------------------------ ------------------------------ ------------------SYS                            COL$
    SYS                            I_TS1
    SYS                            I_UNDO2
    SYS                            CLU$
    SYS                            PROXY_DATA$
    SYS                            I_PROXY_DATA$
    SYS                            I_OBJ1
    SYS                            I_COL2
    SYS                            I_OBJ2
    SYS                            I_CCOL1
    SYS                            TS$这是我们可以手动的来设置段的宽度,这样让一行能显示完整,就不会出现行将被截断了.SQL> col owner format a10
    SQL> col OBJECT_NAME format a20
    ..
    SQL> select * from all_objects;a10,a20 表示列显示的长度,数值越大,列越宽..
      

  3.   

    还是不管用,结果还是0楼我贴的那样子。我在 spool d:/FX_MAST_DEAL.csv 和select 语句之间加入了:
    column ISTR_STP_DES format a120
    column SHT_DES format a60
    column SHT_CTP_NME format a90
    column LEG1_BUY_CCY format a3
    column LEG1_BUY_AMT format $999999999999999.00
    column LEG1_SPOT_EXCHG_RTE format $99999.00000000
    column LEG1_SELL_CCY format a3
    column LEG1_SELL_AMT format $999999999999999.00
    column MAST_NO format a10
    column DEALER_CDE format a20
    column DEAL_STATUS format a10
      

  4.   

    column 格式化放在spool d:/FX_MAST_DEAL.csv 之前
    sqlplus默认打印长度10:
    17:57:55 >select 1234567890abc from dual;       ABC
    ----------
    1234567890
      

  5.   

    17:58:13 >column now format a20
    Elapsed: 00:00:00.18
    18:01:39 >alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';Session altered.Elapsed: 00:00:00.01
    18:01:43 >select sysdate now from dual;NOW
    --------------------
    2009-10-22 18:01:52Elapsed: 00:00:00.01
    18:01:48 >