У меня проблема с катушкой 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;