Как я могу удалить конечные пробелы и дополнительную новую строку при буферизации вывода?

Конечные пробелы в буферизованном выводе rpad(' ',40) усекаются. Если я удалю опцию SET TRIMSPOOL on, размер строки станет 400, и после каждого запроса на выбор появится дополнительная новая строка. Какие параметры мне нужны, чтобы иметь конечные пробелы в конце и удалить дополнительную новую строку.

SET SERVEROUTPUT ON
SET VERIFY OFF
SET FEEDBACK OFF
SET HEADING OFF
SET LINESIZE 400
SET TRIMSPOOL ON
SET PAGESIZE 0
SPOOL ${T_SPOOL}    

SELECT '0' || rpad(' ',17) || '01' || 'WBC' || rpad(' ',7) || rpad('Accounts ',26) ||     '407081' || rpad('REF',12)  || to_char(sysdate, 'DDMMYY') || rpad(' ',40)
from dual;

person Arav    schedule 14.06.2011    source источник


Ответы (1)


Поскольку все ваши линии имеют одинаковую фиксированную длину, вы можете удалить параметр TRIMSPOOL и изменить параметр LINESIZE, чтобы он соответствовал требуемой длине, например.

SET LINESIZE 120

(120 — это цифра, которую я придумал путем быстрого мысленного подсчета, она может быть неверной).

person Tony Andrews    schedule 14.06.2011