我正在嘗試右對齊某些PL/SQL代碼的輸出,但dbms_output.put_line正在修剪我的字符串中的前導空格。我如何讓它停止?還是有更好的方式來輸出帶有空白的字符串?如何防止dbms_output.put_line修剪前導空白?
dbms_output.put_line(lpad('string', 30, ' '));
輸出:
string
代替:
string
我正在嘗試右對齊某些PL/SQL代碼的輸出,但dbms_output.put_line正在修剪我的字符串中的前導空格。我如何讓它停止?還是有更好的方式來輸出帶有空白的字符串?如何防止dbms_output.put_line修剪前導空白?
dbms_output.put_line(lpad('string', 30, ' '));
輸出:
string
代替:
string
的問題是不是與dbms_output
但在SQL * Plus。
使用
SET SERVEROUTPUT ON FORMAT WRAPPED
或
SET SERVEROUTPUT ON FORMAT TRUNCATED
保留空間。
從SET SERVEROUT WORD_WRAPPED
的documentation (PDF)(這是標準):
的SQL * Plus左對齊每一行,跳過所有前導空格。
可能會補充說,如果你想保留前導空格,但修剪尾隨空格,請使用:在sql中設置trimspool。這樣,前導空格將被保留,但行長將由輸出中文本的實際長度決定。