Funkcja zamiany Oracle

Funkcja Zamiany Oracle



W tym samouczku nauczymy się, jak używać funkcji replace() w Oracle, aby zastąpić wszystkie wystąpienia podłańcucha innym zestawem znaków.

Składnia funkcji Oracle Replace().

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







ZASTĄPIĆ ( ciąg_źródłowy, podłańcuch, ciąg_zamienny ) ;



Funkcja przyjmuje trzy parametry:



  1. source_string – definiuje ciąg źródłowy do przeszukania.
  2. Podłańcuch – definiuje podłańcuch, który ma zostać zastąpiony.
  3. łańcuch_zamienny – określa ciąg lub zestaw znaków, które są zastępowane w miejsce podłańcucha. Jest to parametr opcjonalny. Jeśli brakuje wartości parametru łańcuch_wymiany, funkcja usuwa wszystkie wystąpienia podłańcucha z ciągu źródłowego.

Podobnie, jeśli podłańcuch jest pusty, funkcja nic nie robi i zwraca łańcuch_źródłowy.





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 ilustrują zachowanie funkcji przy różnych typach parametrów i 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.

wybierać zastąpić ( „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:

WYMIENIONE |
--------------------------+
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 zamień ( 'https://linuxhint.com' , „https://” ) AS d Z podwójny;

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
(
ID numer,
imię_varchar2 ( pięćdziesiąt ) ,
adres_ip  varchar2 ( dwadzieścia ) ,
btc_address varchar2 ( pięćdziesiąt ) ,
karta_kredytowa varchar2 ( pięćdziesiąt ) ,
identyfikator varchar2 ( 40 ) ,
ograniczenie klucz podstawowy sample_pk ( ID )
) ;
wstaw do sample_data ( ID , imię, adres_ip, adres_btc, karta_kredytowa, identyfikator )
wartości ( jedenaście , „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 , 'Święta Wielkanocne' , '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.

AKTUALIZACJA SAMPLE_DATA SET CREDIT_CARD = WYMIANA ( KARTA KREDYTOWA, „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.