# CHAR

A função CHAR retorna a representação cadeia de caracteres de comprimento fixo de:

- uma cadeia de caracteres, se o primeiro argumento for algum tipo de cadeia de caracteres.
- um valor data/hora, se o primeiro argumento for DATE, TIME ou TIMESTAMP.
- um número decimal, se o primeiro argumento for um número decimal.
- um número de ponto flutuante de precisão dupla, se o primeiro argumento for DOUBLE ou REAL.
- um número inteiro, se o primeiro argumento for SMALLINT, INTEGER ou BIGINT.

O primeiro argumento deve ser de um tipo de dado nativo. O resultado da função é uma cadeia de caracteres de comprimento fixo. Se o primeiro argumento puder ser nulo, o resultado poderá ser nulo. Se o primeiro argumento for nulo, o resultado será o valor nulo.

#### Sintaxe caractere para caractere

    CHAR (ExpressãoCaractere [, inteiro] )

ExpressãoCaractere
  Uma expressão que retorna um valor do tipo de dado CHAR, VARCHAR, LONG VARCHAR ou CLOB.
inteiro
  O atributo comprimento da cadeia de caracteres de comprimento fixo resultante. O valor deve estar entre 0 e 254.

Se o comprimento da expressão caractere for menor que o atributo comprimento do resultado, o resultado será preenchido com brancos até o comprimento do resultado. Se o comprimento da expressão caractere for maior que o atributo comprimento do resultado, será realizado um truncamento. Retorna uma advertência, a menos que os caracteres truncados sejam todos brancos e a expressão caractere não seja uma cadeia longa (LONG VARCHAR ou CLOB).

#### Sintaxe inteiro para caractere

    CHAR (ExpressãoInteira)

ExpressãoInteira
  Uma expressão que retorna um valor com tipo de dado inteiro (SMALLINT, INTEGER ou BIGINT).

O resultado é a representação cadeia de caracteres do argumento na forma de uma constante inteira do SQL. O resultado consiste de n caracteres, que são os dígitos significativos que representam o valor do argumento, precedidos pelo sinal menos se o argumento for negativo. É alinhado à esquerda.

- Se o primeiro argumento for um SMALLINT: O comprimento do resultado será igual a 6. Se o número de caracteres do resultado for menor que 6, então o resultado será preenchido à direita com brancos até o comprimento 6.
- Se o primeiro argumento for um INTEGER: O comprimento do resultado será igual 11. Se o número de caracteres no resultado for menor que 11, então o resultado será preenchido à direita com brancos até o comprimento 11.
- Se o primeiro argumento for um BIGINT: O comprimento do resultado será igual a 20. Se o número de caracteres no resultado for menor que 20, então o resultado será preenchido à direita com brancos até o comprimento 20.

#### Sintaxe de data/hora para caractere

    CHAR (ExpressãoDataHora)

ExpressãoDataHora
  Uma expressão de um dos três seguintes tipos de dado:
  - DATE: O resultado é a representação caractere da data. O comprimento do resultado é 10.
  - TIME: O resultado é a representação caractere da hora. O comprimento do resultado é 8.
  - TIMESTAMP: O resultado é a representação caractere do carimbo do tempo. O comprimento do resultado é 26.

#### Decimal para caractere

    CHAR (ExpressãoDecimal)

ExpressãoDecimal
  Uma expressão que retorna um valor com tipo de dado decimal. Se for desejada uma precisão e escala diferente, poderá ser utilizado primeiro a função escalar DECIMAL para fazer a alteração.

#### Sintaxe ponto flutuante para caractere

    CHAR (ExpressãoPontoFlutuante)

ExpressãoPontoFlutuante
  Uma expressão que retorna um valor como tipo de dado de ponto flutuante (DOUBLE ou REAL).

Utilizar a função CHAR para retornar os valores para NÍVEL_EDUC (definido como SMALLINT) como uma cadeia de caracteres de comprimento fixo:

    SELECT CHAR(NÍVEL_EDUC) FROM EMPREGADOS

Um NÍVEL_EDUC igual a 18 retorna como o valor CHAR(6) igual a '18 ' (18 seguido por quatro brancos).
Tópico pai: Funções nativas