2010-04-06 11 views
6

Sto cercando di allineare a destra l'output di alcuni codici PL/SQL, ma dbms_output.put_line sta tagliando lo spazio bianco iniziale dalle mie stringhe. Come faccio a smettere? O c'è un modo migliore per produrre stringhe con uno spazio bianco leader?Come impedire dbms_output.put_line dal tagliare gli spazi bianchi iniziali?

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

uscite:

string 

anziché:

     string 

risposta

14

Il problema non è con dbms_output ma con SQL * Plus.

Uso

SET SERVEROUTPUT ON FORMAT WRAPPED 

o

SET SERVEROUTPUT ON FORMAT TRUNCATED 

per preservare gli spazi.


Dal documentation (PDF) di SET SERVEROUT WORD_WRAPPED (che è lo standard):

SQL * Plus sinistra giustifica ogni riga, saltando tutti gli spazi leader.

3

Potrebbe aggiungere che se si desidera conservare gli spazi iniziali ma tagliare gli spazi finali utilizzare: impostare trimspool su nel proprio sql. In questo modo verranno preservati gli spazi iniziali, ma la lunghezza della linea sarà determinata dalla lunghezza effettiva del testo nell'output.

Problemi correlati