No Oracle, o
CHR()
A função retorna um caractere com base nos valores de código fornecidos como argumento. Mais especificamente, ele retorna o caractere com o equivalente binário ao seu argumento como um
VARCHAR2
valor no conjunto de caracteres do banco de dados ou, se você especificar USING
NCHAR_CS
, o conjunto de caracteres nacional. Sintaxe
A sintaxe fica assim:
CHR(n [ USING NCHAR_CS ])
Onde
n
é um NUMBER
valor ou qualquer valor que possa ser convertido implicitamente em NUMBER
. O
USING
NCHAR_CS
argument é um argumento opcional que permite especificar o conjunto de caracteres nacional. Exemplo
Aqui está um exemplo simples para demonstrar:
SELECT CHR(65)
FROM DUAL;
Resultado:
CHR(65) __________ A
Aqui eu forneci um número e
CHR()
retornou o caractere correspondente. Neste caso, o inteiro 65
mapeia para a letra maiúscula A
. Sensibilidade de maiúsculas e minúsculas
Aqui está um exemplo que distingue uma letra maiúscula de sua contraparte minúscula:
SELECT
CHR(72),
CHR(104)
FROM DUAL;
Resultado:
CHR(72) CHR(104) __________ ___________ H h
Retorne uma string de vários caracteres
Para produzir uma string com vários caracteres, podemos concatenar vários
CHR()
funções:Exemplo:
SELECT CHR(65) || CHR(77)
FROM DUAL;
Resultado:
CHR(65)||CHR(77) ___________________ AM
O NCHAR_CS
Argumento
Aqui está um exemplo de como passar o segundo argumento (opcional):
SELECT CHR (257 USING NCHAR_CS)
FROM DUAL;
Resultado:
CHR(257USINGNCHAR_CS) ________________________ ā
Isso é o mesmo que usar o
NCHR()
função. Valores nulos
Passando
null
retorna null
:SET NULL 'null';
SELECT CHR(null)
FROM DUAL;
Resultado:
CHR(NULL) ____________ null
Por padrão, SQLcl e SQL*Plus retornam um espaço em branco sempre que
null
ocorre como resultado de um SQL SELECT
demonstração. No entanto, você pode usar
SET NULL
para especificar uma string diferente a ser retornada. Aqui eu especifiquei que a string null
deve ser devolvido. Contagem incorreta de argumentos
Chamando
CHR()
sem passar nenhum argumento retorna um erro:SELECT CHR()
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT CHR() 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:
E passar o número errado de argumentos resulta em um erro:
SELECT CHR(1, 2, 3)
FROM DUAL;
Resultado:
Error starting at line : 1 in command - SELECT CHR(1, 2, 3) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: