Oracle się rozkładają

Oracle się rozkładają

Unicode jest jednym z najbardziej wpływowych i potężnych standardów kodowania w świecie rozwoju. Unicode reprezentuje znaki z prawie wszystkich języków, kodując znaki w kodzie liczbowym między 0 a 0x10ffff.

Ze względu na wszechstronność baz danych, od czasu do czasu będziesz przekształcić ciąg do reprezentacji Unicode.

W tym samouczku dowiesz się, jak korzystać z funkcji DECOMPOSE () Oracle Databases, aby przekonwertować dane na jej reprezentację Unicode.

Składnia funkcji rozkładu Oracle

Składnia funkcji jest jak pokazana poniżej:

Rozkładaj (String [, 'Canonical' | 'zgodność']))

Funkcja przyjmuje dwa argumenty:

  1. Strunowy - To reprezentuje ciąg, który ma zostać przekonwertowany na kompozycję Unicode. Wartością tego parametru może być char, varchar, nchar, nvarchar2, clob i nclob.
  2. KANONICZNY - Ustawienie wartości na kanoniczne pozwala funkcji wykonywać kanoniczny rozkład, który pozwala na rekompozycję z oryginalnym ciągiem. Jeśli nie zostanie określona, ​​funkcja domyślnie użyje tego parametru.
  3. ZGODNOŚĆ - Jeśli wartość jest ustawiona na kompatybilność, funkcja wykona rozkład w trybie kompatybilności. Ten tryb nie pozwala na rekompozycję oryginalnego ciągu. Użyj tej opcji podczas rozkładu postaci z pół szerszej i pełnej szerokości.

Warto pamiętać, że typy CLOB i NCLOB są obsługiwane poprzez wyraźną konwersję.

Przykładowe użycie funkcji

Poniższe przykłady pokazują, jak korzystać z funkcji DECOMPOSE ().

Przykład 1 - podstawowe użycie funkcji

Poniższy prosty kod pokazuje, jak używać funkcji rozkładu do rozkładu ciągu do jego reprezentacji Unicode.

Wybierz rozkład („你 好”) jako wyjściowe z Dual;

Uruchamianie powyższego kodu powinno zwrócić ciąg wyjściowy jako:

Przykład 2 - Uzyskanie kodu ASCII

Aby pobrać wartości liczb całkowitych Unicode, możemy przekazać wynikowy ciąg do funkcji ASCIISR, jak pokazano w poniższym przykładzie:

Wybierz ASCIISR (rozkład („你 好 ')) jako wyjście z podwójnego;

Wyjście:

Przykład 3 - Korzystanie z funkcji z znamionami nie -uniicode

Jeśli zapewnimy funkcję z znakami nie-uniicode, funkcja zwróci ciąg wejściowy bez żadnych modyfikacji.

Przykładową demonstracją jest jak pokazano:

Wybierz rozkład („l”) jako wyjściowy z podwójnego;

Wynik:

Ten sam przypadek dotyczy nawet przy użyciu funkcji ASCIISR.

Wybierz ASCIISR ((„L”)) jako wyjściowe z Dual;

Wyjście:

Przykład 4 - Korzystanie z funkcji z argumentem zerowym

Funkcja zwróci wartość zerową, jeśli wartość wejściowa jest zerowa.

Przykład:

Wybierz (null) jako wyjście z podwójnego;

Wyjście:

Przykład 5 - wywołanie funkcji z brakującymi parametrami

Wymagany jest parametr ciągu w funkcji. Stąd, jeśli nie przejdziemy wartości ciągu, funkcja zwróci błąd, jak pokazano:

Wybierz () jako wyjście z Dual;

Wynik:

Błąd SQL: ORA-00938: Za mało argumentów do funkcji
00938. 00000 - „Za mało argumentów do funkcjonowania”

Wniosek

W tym samouczku nauczyłeś się, jak używać funkcji Oracle Decompose (), aby przekonwertować ciąg na jego reprezentację Unicode.