Oracle 12c - заменить символы в строке ничем - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь заменить тире пробелом, а апострофы - ничем из столбца, который определен как VARCHAR2 (6), однако мой метод заменяет их оба пробелами до 6 символов.

Примеры"ABC-" и "ABC'" необходимо преобразовать в "ABC " и "ABC" соответственно.

Я использую следующее:

select UPPER(RPAD(REPLACE(REPLACE(NVL('ABC-',' '),'-',' '),'''',''), 6,' '))
from dual

Это возвращает "ABC ", но должноreturn "ABC "

select UPPER(RPAD(REPLACE(REPLACE(NVL('ABC''',' '),'-',' '),'''',''), 6,' '))
from dual

И это возвращает "ABC ", но должно вернуть "ABC"

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

использовать ПЕРЕВОД официальный документ

TRANSLATE('abc-''','-''',' ')
0 голосов
/ 26 июня 2018

Будет ли это работать для вас?

SQL>  select regexp_replace('ABC''','''','') from dual;

REG
---
ABC

SQL> select regexp_replace('ABC-','-',' ') from dual;

REGE
----
ABC
...