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

Funkcja NCHR() w Oracle

W Oracle NCHR() funkcja zwraca znak mający binarny odpowiednik swojego argumentu w narodowym zestawie znaków.

Jest to odpowiednik użycia CHR() funkcja z USING NCHAR_CS argument.

Składnia

Składnia wygląda tak:

NCHR(number)

Gdzie number to NUMBER wartość lub dowolna wartość, którą można niejawnie przekonwertować na NUMBER .

Zwracana wartość to zawsze NVARCHAR2 .

Przykład

Oto prosty przykład do zademonstrowania:

SELECT NCHR(257)
FROM DUAL;

Wynik:

   NCHR(257) 
____________ 
ā           

Tutaj podałem numer i NCHR() zwrócił odpowiedni znak z zestawu znaków narodowych. W tym przypadku liczba całkowita 257 mapuje na znak ā .

Ten sam wynik możemy osiągnąć za pomocą CHR() funkcja podczas korzystania z USING NCHAR_CS argument:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;

Wynik:

   CHR(257USINGNCHAR_CS) 
________________________ 
ā                       

Wartości puste

Przekazywanie null zwraca null :

SET NULL 'null';

SELECT NCHR(null)
FROM DUAL;

Wynik:

   NCHR(NULL) 
_____________ 
null          

Domyślnie SQLcl i SQL*Plus zwracają spację, gdy null występuje w wyniku polecenia SQL SELECT 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 NCHR() bez przekazywania żadnych argumentów zwraca błąd:

SELECT NCHR()
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT NCHR()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00938: not enough arguments for function
00938. 00000 -  "not enough arguments for function"
*Cause:    
*Action:

A przekazanie niewłaściwej liczby argumentów skutkuje błędem:

SELECT NCHR(1, 2, 3)
FROM DUAL;

Wynik:

Error starting at line : 1 in command -
SELECT NCHR(1, 2, 3)
FROM DUAL
Error at Command Line : 1 Column : 19
Error report -
SQL Error: ORA-00939: too many arguments for function
00939. 00000 -  "too many arguments for function"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy można wyprowadzić instrukcję SELECT z bloku PL/SQL?

  2. Jak używać funkcji NVL() w Oracle

  3. Potrzebujesz Oracle SQL, aby podzielić zakres dat/godzin według dnia

  4. ORA-12505, TNS:listener nie zna obecnie identyfikatora SID podanego w deskryptorze połączenia

  5. Oracle Joins — porównanie składni konwencjonalnej VS ANSI Składnia