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:
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 funkcjiWniosek
W tym samouczku nauczyłeś się, jak używać funkcji Oracle Decompose (), aby przekonwertować ciąg na jego reprezentację Unicode.