Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ASCISTR() Funkcja w Oracle

W bazie danych Oracle ASCIISTR() funkcja zwraca wersję ASCII podanego ciągu w zestawie znaków bazy danych.

Składnia

Składnia wygląda następująco:

ASCIISTR(char)

Gdzie char jest ciągiem lub wyrażeniem, które jest tłumaczone na ciąg, w dowolnym zestawie znaków.

Znaki spoza zestawu ASCII są konwertowane do postaci \xxxx , gdzie xxxx reprezentuje jednostkę kodu UTF-16.

Przykład

Oto przykład:

SELECT ASCIISTR('Fish')
FROM DUAL;

Wynik:

Fish

W tym przypadku wynik jest taki sam jak dane wejściowe, ponieważ dane wejściowe używały znaków ASCII.

Oto inny, który używa znaków spoza zestawu ASCII:

SELECT ASCIISTR('ปลา')
FROM DUAL;

Wynik:

\0E1B\0E25\0E32

Tutaj otrzymujemy każdy z trzech znaków zwróconych w ich odpowiednikach ASCII.

W tym przypadku dane wejściowe (ปลา ) to tajskie słowo oznaczające „rybę”. Można to wymówić jako „Plā”.

Oto, co się dzieje, gdy przekazujemy Plā do ASCIISTR() funkcja:

SELECT ASCIISTR('Plā')
FROM DUAL;

Wynik:

Pl\0101

W tym przypadku pierwsze dwa przekazane znaki są znakami ASCII, ale trzeci znak jest inny niż ASCII. Dlatego funkcja zwraca pierwsze dwa znaki bez zmian, a trzeci przekonwertowany na ASCII.

Oto kolejny, który przechodzi น้ำ , co jest tajskim słowem oznaczającym „wodę”:

SELECT ASCIISTR('น้ำ')
FROM DUAL;

Wynik:

\0E19\0E49\0E33

Wartości puste

Jeśli argument jest null , wynik to null :

SET NULL 'null';
SELECT ASCIISTR(null)
FROM DUAL;

Wynik:

null

Domyślnie SQLcl i SQL*Plus zwracają spację za każdym razem, gdy w wyniku SELECT wystąpi wartość null oświadczenie.

Możesz jednak użyć SET NULL aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null należy zwrócić.

Nieprawidłowa liczba argumentów

Wywołanie ASCIISTR() bez żadnych argumentów powoduje błąd:

SELECT ASCIISTR()
FROM DUAL;

Wynik:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Końcowe zero

  2. Wstawianie obrazu z Oracle do SQL Server

  3. java.lang.UnsatisfiedLinkError:brak ocijdbc11 w javie. biblioteka.ścieżka

  4. Funkcje analityczne LEAD i LAG

  5. V$SQL_SHARED_CURSOR TOP_LEVEL_RPI_CURSOR