Oracle Replace Function

Oracle Replace Function



В този урок ще научим как да използваме функцията replace() в Oracle, за да заменим всички срещания на подниз с друг набор от знаци.

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

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







ЗАМЕНИТЕ ( изходен_низ, подниз, заместващ_низ ) ;



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



  1. source_string – дефинира изходния низ за търсене.
  2. Подниз – дефинира подниза, който трябва да бъде заменен.
  3. replacement_string – установява низа или набора от символи, които се заместват на мястото на подниза. Това е незадължителен параметър. Ако стойността на параметъра replacement_string липсва, функцията премахва всички срещания на подниза от изходния низ.

По същия начин, ако поднизът е празен, функцията не прави нищо и връща source_string.





Функцията връща тип низ с всички срещания на подниза, заменени с replacement_string.

Примери за функция Oracle Replace().

Следните примери демонстрират как се държи функцията при различни типове параметри и входни данни:



Пример 1 – Замяна на подниз

Примерът по-долу илюстрира основното използване на функцията replace() с всички предоставени входни параметри.

изберете замени ( „Разработка на база данни на Oracle“ , 'аб' , 'xy' ) КАТО сменен
от двойно;

Горната заявка използва функцията replace(), за да замени знаците (ab) с (xy). Резултатен резултат:

СМЕНЕН |
---------------------------+
Разработка на Oracle datxyase |

Пример 2 – Използване на функцията Replace за премахване на подниз

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

ИЗБЕРЕТЕ замяна ( „https://linuxhint.com“ , 'https://' ) AS d ОТ двойно;

Резултат:

д |
-------------+
linuxhint.com |

Пример 3 – Замяна на стойности в таблица

Често използваме функцията replace(), за да заменим стойности в таблица на база данни. Вземете показаната примерна таблица:

създайте таблица sample_data
(
документ за самоличност номер,
първо_име  varchar2 ( петдесет ) ,
ip_адрес varchar2 ( двадесет ) ,
btc_адрес varchar2 ( петдесет ) ,
кредитна_карта varchar2 ( петдесет ) ,
идентификатор varchar2 ( 40 ) ,
първичен ключ на ограничение sample_pk ( документ за самоличност )
) ;
вмъкнете в sample_data ( документ за самоличност , собствено_име, ip_адрес, btc_адрес, кредитна_карта, идентификатор )
стойности ( единадесет , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , „4017955174552“ ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;
вмъкнете в sample_data ( документ за самоличност , собствено_име, ip_адрес, btc_адрес, кредитна_карта, идентификатор )
стойности ( 12 , 'Иън' , '148.190.10.178' , '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7' , „4017956704480827“ ,
'a69fe590-bc1b-4001-8ff8-154bcdb5802d' ) ;
вмъкнете в sample_data ( документ за самоличност , собствено_име, ip_адрес, btc_адрес, кредитна_карта, идентификатор )
стойности ( 13 , 'Великден' , '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 ( КРЕДИТНА КАРТА, '4' , '5' ) ;

След изявлението за актуализация:

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

Заключение

Чрез този урок вие разбрахте работата на функцията replace() в базите данни на Oracle.