PL / SQL - удалить символ в VARCHAR2 - PullRequest
2 голосов
/ 09 ноября 2011

(извините за мой английский ...) Я хотел бы знать, могу ли я удалить символ в varchar2:

FOR FF IN REQ LOOP
IF FF.COLUMN_NAME = ANCIEN THEN
  ORDRE_DYN := ORDRE_DYN || ANCIEN;
ELSE 
  ORDRE_DYN := ORDRE_DYN || FF.COLUMN_NAME;
END IF;

ORDRE_DYN := ORDRE_DYN || ' ' || FF.DATA_TYPE || '(' || FF.DATA_LENGTH;

IF FF.DATA_PRECISION IS NULL THEN
  ORDRE_DYN := ORDRE_DYN || ', ' || FF.DATA_PRECISION || '),';
END IF;
END LOOP;

На последней итерации есть запятая, котораяя хочу удалить, это возможно?Я знаю, что могу сделать цикл while, но я все еще хочу сохранить for.

Спасибо

1 Ответ

3 голосов
/ 09 ноября 2011

После завершения цикла вы можете RTRIM отключить запятую:

END LOOP;

ORDRE_DYN := RTRIM(ORDRE_DYN, ',');

Если запятой не существует в конце строки, то в строку не вносятся никакие изменения.

Документация Oracle 11gR2 RTRIM.

...