Wyrocznia Dekompozycja

Wyrocznia Dekompozycja



Unicode to jeden z najbardziej wpływowych i potężnych standardów kodowania w świecie programowania. Unicode reprezentuje znaki z prawie wszystkich języków poprzez kodowanie znaków w kodzie całkowitym z zakresu od 0 do 0x10ffff.

Ze względu na wszechstronność baz danych, od czasu do czasu będziesz musiał konwertować ciąg znaków na jego reprezentację w Unicode.







W tym samouczku dowiesz się, jak korzystać z funkcji decompose() baz danych Oracle, aby przekonwertować dane na ich reprezentację w Unicode.



Składnia funkcji rozkładania Oracle

Składnia funkcji jest pokazana poniżej:



DECOMPOSE(string [, { 'KANONICZNY' | 'ZGODNOŚĆ' } ] )

Funkcja przyjmuje dwa argumenty:





  1. Strunowy – 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 canonical umożliwia funkcji wykonanie dekompozycji kanonicznej, która pozwala na rekompozycję do oryginalnego łańcucha. Jeśli nie zostanie określony, funkcja domyślnie użyje tego parametru.
  3. ZGODNOŚĆ – jeśli wartość jest ustawiona na zgodność, funkcja przeprowadzi dekompozycję w trybie zgodności. Ten tryb nie pozwala na rekompozycję do oryginalnej struny. Użyj tej opcji podczas rozkładania znaków katakana o połowie i pełnej szerokości.

Warto pamiętać, że typy CLOB i NCLOB są obsługiwane przez jawną konwersję.

Przykładowe użycie funkcji

Poniższe przykłady pokazują, jak używać funkcji decompose() baz danych Oracle.



Przykład 1 — Użycie funkcji podstawowych

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

wybierz decompose('Hello') jako wyjście z dual;

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

Przykład 2 – Uzyskanie kodu ASCII

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

wybierz asciistr(decompose('你好')) jako wyjście z dual;

Wyjście:

Przykład 3 – Używanie funkcji ze znakami spoza Unicode

Jeśli udostępnimy funkcję ze znakami spoza Unicode, funkcja zwróci ciąg wejściowy bez żadnych modyfikacji.

Przykładowa demonstracja jest następująca:

wybierz decompose('l') jako wyjście z dual;

Wynik:

Ten sam przypadek ma zastosowanie nawet w przypadku korzystania z funkcji asciistr.

wybierz asciistr(('l')) jako wyjście z dual;

Wyjście:

Przykład 4 – Użycie funkcji z argumentem NULL

Funkcja zwróci wartość NULL, jeśli wartość wejściowa jest równa NULL.

Przykład:

wybierz (NULL) jako wyjście z podwójnego;

Wyjście:

Przykład 5 – Wywołanie funkcji z brakującymi parametrami

Parametr string w funkcji jest wymagany. Dlatego jeśli nie uda nam się przekazać wartości ciągu, funkcja zwróci błąd, jak pokazano:

wybierz () jako wyjście z podwójnego;

Wynik:

Błąd SQL: ORA-00938: za mało argumentów dla funkcji
00938. 00000 -  „za mało argumentów dla funkcji”

Wniosek

W tym samouczku nauczyłeś się, jak używać funkcji decompose() Oracle do konwersji ciągu znaków na jego reprezentację w Unicode.