Wymień Oracle

Wymien Oracle



W tym artykule zbadano użycie funkcji replace() w bazie danych Oracle w celu zastąpienia wystąpienia danego podłańcucha innym ciągiem.

Składnia funkcji

Poniższy kod przedstawia składnię funkcji replace():







REPLACE(łańcuch_źródłowy, podłańcuch, ciąg_zamienny);

Funkcja przyjmuje trzy parametry:



  1. ciąg_źródłowy – reprezentuje ciąg źródłowy do przeszukania.
  2. Podciąg – ustawia podłańcuch, który ma zostać zastąpiony
  3. ciąg_zamienny – definiuje łańcuch lub zestaw znaków, które są podstawione w miejsce podłańcucha.

Funkcja zwraca typ łańcuchowy, w którym wszystkie wystąpienia podciągu są zastępowane ciągiem_zamiennym.



Przykłady funkcji Oracle Replace().

Poniższe przykłady pokazują, jak funkcja zachowuje się przy różnych parametrach i typach danych wejściowych:





Przykład 1 — Zastąp wystąpienie podciągu

Poniższy przykład ilustruje podstawowe użycie funkcji replace() ze wszystkimi dostarczonymi parametrami wejściowymi.

wybierz zamień („Rozwój bazy danych Oracle”, „ab”, „xy”) AS zastąpiony
z podwójnego;

W powyższym zapytaniu zastosowano funkcję replace() w celu zastąpienia znaków (ab) przez (xy). Wynikowy wynik:



WYMIENIONO                   |
--------------------------+
Rozwój Oracle datxyase|

Przykład 2 — użycie funkcji Replace w celu usunięcia podciągu

Jak wspomniano, możemy użyć funkcji replace() do usunięcia podłańcucha z ciągu źródłowego. Dzieje się tak, gdy nie podajemy wartości z podciągu, jak pokazano:

WYBIERZ zastąp('https://linuxhint.com', 'https://') AS d Z dual;

Wynik:

D            |
-------------+
linuxhint.com|

Przykład 3 — Zastąp wartości w tabeli

Często używamy funkcji replace() do zastępowania wartości w tabeli bazy danych. Weź pokazaną przykładową tabelę:

utwórz tabelę sample_data
(
numer identyfikacyjny,
imię  varchar2(50),
adres_ip  varchar2(20),
adres_btc varchar2(50),
karta_kredytowa varchar2(50),
identyfikator varchar2(40),
ograniczenie sample_pk klucz podstawowy (identyfikator)
);
wstaw do sample_data (id, imię, adres_ip, adres_btc, karta_kredytowa, identyfikator)
wartości (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
wstaw do sample_data(id, imię, adres_ip, adres_btc, karta_kredytowa, identyfikator)
wartości (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
wstaw do sample_data (id, imię, adres_ip, adres_btc, karta_kredytowa, identyfikator)
wartości (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

Przed aktualizacją oświadczenie:

WYBIERZ IMIĘ, ADRES IP, KARTA KREDYTOWA Z SAMPLE_DATA sd;

Możemy użyć funkcji replace() do zastąpienia wszystkich wystąpień liczby 4 w kolumnie karta_kredytowa liczbą 5.

UPDATE SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');

Po oświadczeniu o aktualizacji:

W wynikowej tabeli możemy sprawdzić, czy wartości w kolumnach credit_card zostały zamienione z 4 na 5.

Wniosek

Dzięki temu samouczkowi zrozumiałeś działanie funkcji replace() w bazach danych Oracle.