2010-04-06 79 views
6

我正在嘗試右對齊某些PL/SQL代碼的輸出,但dbms_output.put_line正在修剪我的字符串中的前導空格。我如何讓它停止?還是有更好的方式來輸出帶有空白的字符串?如何防止dbms_output.put_line修剪前導空白?

dbms_output.put_line(lpad('string', 30, ' ')); 

輸出:

string 

代替:

     string 

回答

14

的問題是不是與dbms_output但在SQL * Plus。

使用

SET SERVEROUTPUT ON FORMAT WRAPPED 

SET SERVEROUTPUT ON FORMAT TRUNCATED 

保留空間。


SET SERVEROUT WORD_WRAPPEDdocumentation (PDF)(這是標準):

的SQL * Plus左對齊每一行,跳過所有前導空格。

3

可能會補充說,如果你想保留前導空格,但修剪尾隨空格,請使用:在sql中設置trimspool。這樣,前導空格將被保留,但行長將由輸出中文本的實際長度決定。