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: