2013-05-08 74 views
2

我有一個查詢,它給了我確切的結果。 但我的問題是結果它給了我很多的兩列之間的差距就像刪除oracle中的結果列之間的差距

col1                  col2            col3 
----                  ----            ---- 

當我檢查了各列的長度length功能顯示,他們是剛剛畢業4或5的長度。

我已經使用了一些窗口函數來計算這些列並將它們別名。

我的問題是爲什麼它顯示了這樣的結果,以及如何消除結果中的列的差距?

我使用ORACLE10G

+0

只是爲了驗證:你上通過SQLPLUS運行呢? – 2013-05-08 18:36:55

+0

Ya !!我正在使用SQL * Plus – Aspirant 2013-05-08 18:38:58

回答

1

sqlplus中COLSEP設置控制什麼列之間顯示。試試這個:

SET COLSEP ' ' 

這是默認值。您可以將其設置爲您想要的任何值。

如果要控制SQLPlus中列的寬度,通常通過COLUMN設置完成,該設置與列名相匹配。這將設置列格式col1爲20個字符寬,無論列的值:

COLUMN col1 FORMAT A20 

注意,如果col1值超過20個字符長,它會自動換行。


+0

它工作正常! 非常感謝@Ed Gibbs .. – Aspirant 2013-05-08 18:56:56

+0

但你能告訴我這是什麼'COLSEP' – Aspirant 2013-05-08 18:58:56

+0

對不起@Aspirant,我應該包括一個鏈接。 [SET COLSEP]記錄在[此處](http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12040.htm#sthref2716)。你也可以嘗試:嘗試'SET COLSEP' - + - ''然後是'SELECT'語句:你會在結果的每一列之間看到「 - + - 」。然後使用'SET COLSEP'''重置上面的內容。 – 2013-05-08 19:08:38