TypeDECIMAL
S’applique à : Databricks SQL Databricks Runtime
Représente des nombres avec une précision maximale spécifiée et une échelle fixe.
Syntaxe
{ DECIMAL | DEC | NUMERIC } [ ( p [ , s ] ) ]
p
: précision maximale facultative (nombre total de chiffres) du nombre, comprise entre 1 et 38. La valeur par défaut est de 10.
s
: échelle facultative du nombre comprise entre 0 et p
. Nombre de chiffres à droite de la virgule décimale. La valeur par défaut est 0.
limites
Plage de nombres :
- De -1Ep + 1 à -1E-s
- 0
- De +1E-s à +1Ep - 1
Par exemple, un DECIMAL (5, 2) a une plage comprise entre -999 99 et 999 99.
Littéraux
decimal_digits { [ BD ] | [ exponent BD ] }
| digit [ ... ] [ exponent ] BD
decimal_digits:
[ + | - ] { digit [ ... ] . [ digit [ ... ] ]
| . digit [ ... ] }
exponent:
E [ + | - ] digit [ ... ]
digit
: un chiffre compris entre 0 et 9.
Le suffixe BD
et l’exposant E
ne respectent pas la casse.
Exemples
> SELECT +1BD;
1
> SELECT 5E3BD;
5000
> SELECT 5.321E2BD;
532.1
> SELECT -6.45
-6.45
> SELECT typeof(6.45);
DECIMAL(3,2)
> SELECT CAST(5.345 AS DECIMAL(3, 2));
5.35
> SELECT typeof(CAST(5.345 AS DECIMAL));
DECIMAL(10, 0)
> SELECT typeof(CAST(5.345 AS DECIMAL(2)));
DECIMAL(2, 0)