Функция замены Oracle

Funkcia Zameny Oracle



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

Синтаксис функции Oracle Replace()

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







ЗАМЕНЯТЬ ( исходная_строка, подстрока, замена_строки ) ;



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



  1. source_string — определяет исходную строку для поиска.
  2. Подстрока — определяет подстроку, которую необходимо заменить.
  3. replace_string – устанавливает строку или набор символов, которые заменяются вместо подстроки. Это необязательный параметр. Если значение параметра replace_string отсутствует, функция удаляет все вхождения подстроки из исходной строки.

Точно так же, если подстрока пуста, функция ничего не делает и возвращает исходную_строку.





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

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

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



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

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

Выбрать заменять ( «Разработка базы данных Oracle» , аб , ху ) AS заменен
из двойного;

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

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

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

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

ВЫБЕРИТЕ заменить ( 'https://linuxhint.com' , 'https://' ) КАК Д ОТ двойного;

Исход:

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

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

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

создать таблицу sample_data
(
я бы количество,
имя_имя  varchar2 ( 50 ) ,
ip_адрес  varchar2 ( двадцать ) ,
btc_address varchar2 ( 50 ) ,
кредитная_карта varchar2 ( 50 ) ,
идентификатор  varchar2 ( 40 ) ,
ограничение первичный ключ sample_pk ( я бы )
) ;
вставить в sample_data ( я бы , first_name, ip_address, btc_address, кредитная_карта, идентификатор )
значения ( одиннадцать , «Валлас» , «169.158.70.77» , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
вставить в sample_data ( я бы , first_name, ip_address, btc_address, кредитная_карта, идентификатор )
значения ( 12 , Ян , «148.190.10.178» , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , '4017956704480827' ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
вставить в sample_data ( я бы , first_name, ip_address, btc_address, кредитная_карта, идентификатор )
значения ( 13 , 'Пасха' , '150.86.18.140' , '126хВКом2Фой9LEA6M4pUAT1h97c2rSD8B' , '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 ( КРЕДИТНАЯ КАРТА, «4» , «5» ) ;

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

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

Заключение

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