FirebirdSQL logo
Longueur des littéraux DECFLOAT

Une valeur de type DECFLOAT peut être définie par un littéral numérique en notation scientifique uniquement sila mantisse est constituée de 20 chiffres ou plus, ou l’exposant absolu est supérieur à 308. Sinon, ces littérauxsont interprétés comme DOUBLE PRECISION.Les littéraux numériques exacts avec 40 chiffres ou plus — en fait 39 chiffres s’ils sont supérieurs à la valeur maximale de INT128 sont également traités comme DECFLOAT (34).

Il est également possible d’utiliser un littéral de chaîne de caractères et de le convertir explicitement dans le type souhaité DECFLOAT.

La longueur des littéraux de type DECFLOAT est limitée à 1024 caractères.Pour les valeurs plus longues, vous devrez utiliser la notation scientifique.Par exemple, la valeur 0.0<1020 zéros>11 ne peut pas être écrite comme un littéral, vous pouvez utiliser la notation scientifique similaire à la place : 1.1E-1022.De même, 10<1022 zéros>0 peut s’écrire 1.0E1024.

Les littéraux contenant plus de 34 chiffres significatifs sont arrondis en utilisant le mode d’arrondi DECFLOAT défini pour la session.

DECFLOAT et fonctions
Utilisation des fonctions conventionnelles

Un certain nombre de fonctions scalaires standard peuvent être utilisées avec des expressions et des valeurs de type DECFLOAT.Cela s’applique aux fonctions mathématiques suivantes :

ABS

CEILING

EXP

FLOOR

LN

LOG

LOG10

POWER

SIGN

SQRT

Les fonctions d’agrégation SUM, AVG, MIN et MAX fonctionnent également avec le type DECFLOAT.Toutes les fonctions d’agrégation statistique (telles que, mais sans s’y limiter, STDDEV ou CORR) peuvent traiter des données de type DECFLOAT.

Fonctions spéciales pour `DECFLOAT

Firebird supporte 4 fonctions qui sont conçues spécifiquement pour supporter le type DECFLOAT :

COMPARE_DECFLOAT

compare deux valeurs DECFLOAT comme étant égales, différentes ou non ordonnées.

NORMALIZE_DECFLOAT

prend un seul argument DECFLOAT et le retourne sous sa forme la plus simple.

QUANTIZE

prend deux arguments DECFLOAT et retourne le premier argument mis à l’échelle en utilisant la deuxième valeur comme échantillon.

TOTALORDER

effectue une comparaison exacte de deux valeurs DECFLOAT.