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:
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: