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

Funkcja CHR() w Oracle

W Oracle CHR() funkcja zwraca znak na podstawie wartości kodu podanych jako argument.

Dokładniej, zwraca znak mający binarny odpowiednik swojego argumentu jako VARCHAR2 wartość w zestawie znaków bazy danych lub, jeśli określisz USING NCHAR_CS , zestaw znaków narodowych.

Składnia

Składnia wygląda tak:

CHR(n [ USING NCHAR_CS ]) 

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

USING NCHAR_CS argument jest opcjonalnym argumentem, który pozwala określić narodowy zestaw znaków.

Przykład

Oto prosty przykład do zademonstrowania:

SELECT CHR(65)
FROM DUAL; 

Wynik:

 CHR(65) __________ A 

Tutaj podałem numer i CHR() zwrócił odpowiedni znak. W tym przypadku liczba całkowita 65 mapuje na wielką literę A .

Wrażliwość na wielkość liter

Oto przykład, który odróżnia wielką literę od jej małego odpowiednika:

SELECT 
    CHR(72),
    CHR(104)
FROM DUAL; 

Wynik:

CHR(72) CHR(104) __________ ___________ W w

Zwróć ciąg wielu znaków

Aby utworzyć ciąg wieloznakowy, możemy połączyć wiele CHR() funkcje:

Przykład:

SELECT CHR(65) || CHR(77)
FROM DUAL; 

Wynik:

 CHR(65)||CHR(77) ___________________ AM 

NCHAR_CS Argument

Oto przykład przekazywania (opcjonalnego) drugiego argumentu:

SELECT CHR (257 USING NCHAR_CS)
FROM DUAL; 

Wynik:

 CHR(257USINGNCHAR_CS) ________________________ ā 

To to samo, co użycie NCHR() funkcja.

Wartości puste

Przekazywanie null zwraca null :

SET NULL 'null';

SELECT CHR(null)
FROM DUAL; 

Wynik:

 CHR(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 CHR() bez przekazywania żadnych argumentów zwraca błąd:

SELECT CHR()
FROM DUAL; 

Wynik:

Błąd zaczynający się od wiersza:1 w poleceniu -SELECT CHR()FROM DUALError w wierszu polecenia:1 Kolumna:8Raport o błędzie -SQL Błąd:ORA-00938:za mało argumentów dla funkcji00938. 00000 - "za mało argumentów dla funkcji"*Przyczyna:*Działanie:

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

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

Wynik:

Błąd zaczynający się od wiersza:1 w poleceniu -SELECT CHR(1, 2, 3)FROM DUALError w wierszu polecenia:1 Kolumna:8Raport o błędzie -SQL Błąd:ORA-00909:nieprawidłowa liczba argumentów00909. 00000 - "nieprawidłowa liczba argumentów"*Przyczyna:*Działanie:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wstawić ciąg zawierający &

  2. Przykład demonstrujący podatność na wstrzykiwanie SQL i zapobieganie jej w Oracle

  3. Membership.ValidateUser zawsze zwraca wartość false po uaktualnieniu do VS 2010 / .NET 4.0

  4. Jakie sytuacje powodują, że pakiety Oracle stają się nieważne?

  5. Jak przekazać listę obiektów Java do procedury składowanej Oracle za pomocą MyBatis?