DECIMAL
Typ
Platí pro: Kontrola Databricks SQL Databricks Runtime
Představuje čísla se zadanou maximální přesností a pevným měřítkem.
Syntaxe
{ DECIMAL | DEC | NUMERIC } [ ( p [ , s ] ) ]
p
: Nepovinná maximální přesnost (celkový počet číslic) čísla mezi 1 a 38. Výchozí hodnota je 10.
s
: Volitelné měřítko čísla mezi 0 a p
. Počet číslic napravo od desetinné čárky. Výchozí hodnota je 0.
Limity
Rozsah čísel:
- -1ep + 1 až -1E-s
- 0
- +1E-s až +1Ep - 1
Například FUNKCE DECIMAL(5; 2) má rozsah od -999,99 do 999,99.
Literály
decimal_digits { [ BD ] | [ exponent BD ] }
| digit [ ... ] [ exponent ] BD
decimal_digits:
[ + | - ] { digit [ ... ] . [ digit [ ... ] ]
| . digit [ ... ] }
exponent:
E [ + | - ] digit [ ... ]
digit
: Libovolná číslice od 0 do 9.
U BD
postfixu a exponentu E
se nerozlišují velká a velká písmena.
Příklady
> 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)