DECIMAL

DECIMAL fornece um num??rico exato onde a precis??o e a escala podem ter tamanhos arbitr??rios. Pode ser especificada a precis??o (o n??mero total de d??gitos, tanto ?? esquerda quanto ?? direita do ponto decimal), e a escala (o n??mero de d??gitos da parte fracion??ria). A quantidade de armazenamento necess??ria ?? baseada na precis??o.

Sintaxe

{ DECIMAL | DEC } [(precis??o [, escala ])]

A precis??o deve estar entre 1 e 31. A escala deve ser menor ou igual a precis??o.

Quando a escala n??o ?? especificada, ?? utilizado o valor padr??o igual a 0. Quando a precis??o n??o ?? especificada, ?? utilizada a precis??o padr??o igual a 5.

A tentativa de colocar um valor num??rico em um DECIMAL ?? permitida, desde que a precis??o n??o fracion??ria n??o seja perdida. Ao remover os d??gitos finais do valor DECIMAL, o Derby arredonda para baixo.

Por exemplo:
-- esta convers??o perde apenas a precis??o fracion??ria
VALUES CAST (1.798765 AS DECIMAL(5,2));
1
--------
1.79
-- esta convers??o n??o cabe
VALUES CAST (1798765 AS DECIMAL(5,2));
1
--------
ERRO 22003: O valor resultante est?? fora da faixa para o tipo de dado
DECIMAL/NUMERIC(5,2).

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.

Quando s??o misturados dois valores decimais em uma express??o, a escala e a precis??o do valor resultante seguem as regras mostradas em Escala na aritm??tica decimal.

Tipo Java correspondente em tempo de compila????o

java.math.BigDecimal

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

DECIMAL

VALUES 123.456

VALUES 0.001

As constantes inteiras muito grandes para BIGINT s??o tornadas constantes DECIMAL.

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
DOUBLE
DOUBLE PRECISION
FLOAT
INTEGER
LONG VARCHAR
LONG VARCHAR FOR BIT DATA
NUMERIC
REAL
SMALLINT
TIME
TIMESTAMP
VARCHAR
VARCHAR FOR BIT DATA