# REAL

O tipo de dado REAL fornece 4 bytes de armazenamento para números, utilizando a notação de ponto flutuante do IEEE.

#### Sintaxe

    REAL

#### Tipo Java correspondente em tempo de compilação

java.lang.Float

#### Tipo do metadado do JDBC (java.sql.Types)

REAL

#### Limitações

Faixa de valores de REAL:

- Menor valor REAL: -3.402E+38
- Maior valor REAL: 3.402E+38
- Menor valor REAL positivo: 1.175E-37
- Maior valor REAL negativo: -1.175E-37

Estes limites são diferentes dos limites do tipo Java `java.lang.Float`.

É lançada uma exceção quando é calculado ou entrado um valor de precisão dupla fora desta faixa de valores. As operações aritméticas não arredondam o valor de seus resultados para zero. Se o valor for muito pequeno, será lançada uma exceção. As operações aritméticas são realizadas em aritmética de precisão dupla, com a finalidade de detectar números muito pequenos (underflow).

As constantes numéricas de ponto flutuante estão limitadas a um comprimento de 30 caracteres.

    -- este exemplo falha porque a constante é muito longa:
    values 01234567890123456789012345678901e0;

Quando misturado com outros tipos de dado nas expressões, o tipo de dado do resultado segue as regras mostradas em Promoção de tipo numérico nas expressões.

Consulte também Armazenamento de valores de um tipo de dado numérico em colunas de outro tipo de dado numérico.

As constantes são sempre mapeadas para DOUBLE PRECISION; deve ser utilizado CAST para converter para REAL.

Tópico pai: Tipos de dado
Conceitos relacionados
Visão geral dos tipos de dado nativos
Tipos numéricos
Referências relacionadas
Tipo de dado - atribuições e comparação, classificação e ordenação
BIGINT
BLOB
CHAR
CHAR FOR BIT DATA
CLOB
DATE
DECIMAL
DOUBLE
DOUBLE PRECISION
FLOAT
INTEGER
LONG VARCHAR
LONG VARCHAR FOR BIT DATA
NUMERIC
SMALLINT
TIME
TIMESTAMP
VARCHAR
VARCHAR FOR BIT DATA