Oracle заменить

Oracle Zamenit



В этой статье рассматривается использование функции replace() в базе данных Oracle для замены вхождения данной подстроки на другую подстроку.

Синтаксис функции

Следующий код показывает синтаксис функции replace():







REPLACE(исходная_строка, подстрока, замещающая_строка);

Функция принимает три параметра:



  1. исходная_строка – представляет исходную строку для поиска.
  2. Подстрока – устанавливает подстроку для замены
  3. replace_string – определяет строку или набор символов, которые подставляются вместо подстроки.

Функция возвращает строковый тип, в котором все вхождения подстроки заменены на replace_string.



Примеры функции Oracle Replace()

В следующих примерах показано, как функция ведет себя при различных параметрах и типах входных данных:





Пример 1. Замена вхождения подстроки

Пример ниже иллюстрирует основное использование функции replace() со всеми предоставленными входными параметрами.

выберите замену ('Разработка базы данных Oracle', 'ab', 'xy') AS заменено
из двойного;

Приведенный выше запрос использует функцию replace() для замены символов (ab) на (xy). Результирующий вывод:



ЗАМЕНЕНО                   |
--------------------------+
Разработка Oracle datxyase|

Пример 2. Использование функции замены для удаления подстроки

Как уже упоминалось, мы можем использовать функцию replace() для удаления подстроки из исходной строки. Это происходит, когда мы не предоставляем значение из подстроки, как показано ниже:

SELECT replace('https://linuxhint.com', 'https://') AS d FROM dual;

Исход:

Д            |
-------------+
linuxhint.com|

Пример 3. Замена значений в таблице

Мы часто используем функцию replace() для замены значений в таблице базы данных. Возьмем показанную примерную таблицу:

создать таблицу sample_data
(
идентификационный номер,
имя_имя varchar2(50),
ip_address varchar2(20),
btc_address varchar2 (50),
кредитная_карта varchar2 (50),
идентификатор varchar2(40),
первичный ключ (id) ограничения sample_pk
);
вставить в sample_data (id, first_name, ip_address, btc_address, кредитная_карта, идентификатор)
значения (11, «Уоллас», «169.158.70.77», «1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q», «4017955174552»,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
вставить в sample_data(id, first_name, ip_address, btc_address, кредитная_карта, идентификатор)
значения (12, «Ян», «148.190.10.178», «1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7», «4017956704480827»,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
вставить в sample_data (id, first_name, ip_address, btc_address, кредитная_карта, идентификатор)
значения (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

Перед заявлением об обновлении:

ВЫБРАТЬ FIRST_NAME, IP_ADDRESS, CREDIT_CARD FROM SAMPLE_DATA sd;

Мы можем использовать функцию replace(), чтобы заменить все вхождения числа 4 в столбце credit_card на число 5.

ОБНОВЛЕНИЕ SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');

После заявления об обновлении:

В полученной таблице мы можем убедиться, что значения в столбцах кредитной карты были заменены с 4 на 5.

Заключение

Из этого руководства вы поняли, как работает функция replace() в базах данных Oracle.