SQLPLUS - ORACLE 12 - Обрезать лишние столбцы пробелами

У меня проблема с катушкой sqlplus (oracle 12c / 18c). Я хочу обрезать лишние пробелы в столбцах.

Это ожидаемый результат

01JHON BROWN  30RED    
02MARIO ROSSI 25WHITE  

это мой результат

01    JHON BROWN       30        RED         
02    MARIO ROSSI      25        WHITE    

это код sql

SET ECHO OFF
SET VERIFY OFF
SET FEEDBACK OFF
SET SERVEROUTPUT ON
SET HEADING OFF
SET PAGESIZE 0 
SET LINESIZE 2000
SET SQLBLANKLINES ON
SET FEEDBACK OFF
SET TIME OFF
SET TIMING OFF
SET COLSEP ''
SET TRIMSPOOL OFF
SET TERMOUT OFF

ALTER SESSION SET NLS_DATE_FORMAT='YYYYMMDD'
ALTER SESSION SET NLS_NUMERIC_CHARACTERS='.,'

spool pippo.txt

SELECT TRIM(NUM), RPAD(NAME,12), TRIM(AGE), RPAD(COLOR,7)
FROM PLUTO;

spool off
exit

Спасибо

Всего 1 ответ


Вот как форматирование столбцов работает со spool - значения каждой строки дополняются до полной ширины столбцов. Посмотрите этот похожий вопрос, чтобы понять ваши варианты.

Если вам не нужны пробелы между значениями столбцов, вам, как правило, придется объединять их в один столбец, например

SELECT TRIM(NUM) || RPAD(NAME,12) || TRIM(AGE) || RPAD(COLOR,7)
FROM PLUTO;

Есть идеи?

10000