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:
- source_string – definiuje ciąg źródłowy do przeszukania.
- Podłańcuch – definiuje podłańcuch, który ma zostać zastąpiony.
- ł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ąpionyz 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.