Funkcja tłumaczenia Oracle

Funkcja Tlumaczenia Oracle



Manipulowanie łańcuchami i funkcje ciągów to wszechstronne funkcje, jeśli chodzi o bazy danych.

W tym samouczku dowiemy się o funkcji TRANSLATE() w bazie danych Oracle służącej do zamiany sekwencji znaków na inną.

Funkcja tłumaczenia Oracle

W Oracle funkcja translate umożliwia zastąpienie danego zestawu znaków innym, po jednym znaku na raz.







Weź następujący fragment kodu, który wyraża składnię funkcji:



TŁUMACZYĆ ( ciąg, ciąg_z_ciągu, ciąg_zamienny ) ;

Z podanej składni funkcja przyjmuje trzy główne argumenty:



  1. ciąg — ten parametr określa ciąg, który ma zostać przetłumaczony przez funkcję.
  2. original_string – Ten parametr pozwala podać zestaw znaków, które mają zostać zastąpione.
  3. replacement_string – Jak sama nazwa wskazuje, ten parametr umożliwia określenie ciągu pasującego do parametru from_string pod względem długości i typu.

Gdy funkcja translate wykona określone podstawienie, zwraca ciąg z zastąpionymi pasującymi wystąpieniami. Jeśli jednak jakiekolwiek parametry funkcji mają wartość NULL, funkcja automatycznie tworzy typ NULL.





Przykładowe użycie funkcji

Poniżej przedstawiono przykłady demonstrujące użycie funkcji TRANSLATE().

Przykład 1: Użycie funkcji podstawowych
Poniższy kod pokazuje, jak użyć funkcji translate, aby zamienić wszystkie znaki „a” na gwiazdkę:



wybierać Tłumaczyć ( „Bazy danych Oracle” , 'a' , '*' ) Jak przetłumaczony
z podwójnego;

Wynikowy ciąg jest następujący:

PRZETŁUMACZONY
---------------------
Lub * wuj d * t * b * jego

Przykład 2: Zastępowanie wielu znaków
Możemy również zastąpić wiele znaków za pomocą funkcji tłumaczenia, jak pokazano w poniższym przykładzie:

wybierać Tłumaczyć ( „Bazy danych Oracle” , „ab” , „xy” ) Jak przetłumaczony
z podwójnego;

Wynik:

PRZETŁUMACZONY
------------------
Orxcle dxtxyxses

Przykład 3: ustawienie parametru Replacement_String jako pusty
Rozważ ten przykład, który pokazuje, jak zachowuje się funkcja, jeśli ustawimy parametr łańcuch_wymiany na wartość pustą.

wybierać Tłumaczyć ( „Bazy danych Oracle” , „ab” , '' ) Jak przetłumaczony
z podwójnego;

W takim przypadku funkcja zwraca pusty ciąg znaków. Dzieje się tak, ponieważ pusty łańcuch jest traktowany jako wartość NULL. Pamiętaj, że funkcja zawsze zwraca NULL, jeśli którykolwiek z parametrów ma wartość NULL.

Przykład 4: Niepasująca sekwencja
Co się stanie, jeśli określone znaki from_string nie zostaną znalezione w source_string?

Pokazuje to poniższa ilustracja:

wybierać Tłumaczyć ( „Bazy danych Oracle” , „xx” , '*' ) Jak przetłumaczony
z podwójnego;

Wynik:

PRZETŁUMACZONY
------------------
Bazy danych Oracle

Jak można się domyślić, funkcja nie wykonuje żadnej akcji na łańcuchu źródłowym.

Wniosek

W tym samouczku nauczyłeś się, jak używać funkcji TRANSLATE() w bazie danych Oracle do wykonywania zamiany znaków jeden na jeden. Należy zauważyć, że chociaż funkcja translate zachowuje się podobnie do funkcji zamiany, różnią się one w trybie zamiany. Funkcja zamiany wykonuje zamianę całego łańcucha w porównaniu do zamiany jednego znaku na raz w funkcji translate.