2008-11-24 5 views

ответ

9

Вы можете использовать RPAD или LPAD ФУНКЦИИ

select 'He' || rpad(' ',5,' ') || 'llo' 
from dual; 
/

или PL/SQL это будет:

declare 
    x varchar2(20); 
begin 
    x:= 'He' || rpad(' ',5,' ') || 'llo'; 
end; 
/
0

В Oracle, вы можете эмулировать функцию space() с:

rpad(' ',n,' ') 

Где n - это одна меньше общей длины строки пробелов, которую вы нт.

E.g. для строки 40 пространств:

select rpad(' ',39,' ') as "40 spaces" from dual 

dual фиктивных таблицы можно использовать для проверки расчетов и со строк без извлечения из реальной таблицы жизни.

+2

попробовать еще раз ... `выберите length (rpad ('', 39, '')) из double; `возвращает 39, а не 40. – 2012-01-18 04:59:44

3

Jeffrey использованием rpad(' ',n,' ') дает n+1 пространства

select RPAD('A',3,'-')||RPAD(' ',4,' ')||RPAD('B',5,'-') from dual 

Выходные

A-- B---- 

После A-- и до B, вы найдете 5 пробелов вместо 4.