Megosztás a következőn keresztül:


DECIMAL típus

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Megadott pontosságú és rögzített skálázású számokat jelöl.

Syntax

{ DECIMAL | DEC | NUMERIC } [ (  p [ , s ] ) ]

p: Az 1 és 38 közötti szám tetszőleges maximális pontossága (számjegyek teljes száma). Az alapértelmezett érték 10. s: A 0 és pa 0 közötti szám nem kötelező skálázása. A tizedesvessző jobb oldalán lévő számjegyek száma. Az alapértelmezett érték a 0.

Korlátok

A számok tartománya:

  • -1Ep + 1–-1E-s
  • 0
  • +1E-s–+1Ep – 1

A TIZEDES(5, 2) tartománya például a következő: -999,99 és 999,99 között.

Literálok

decimal_digits { [ BD ] | [ exponent BD ] }
| digit [ ... ] [ exponent ] BD

decimal_digits:
[ + | - ] { digit [ ... ] . [ digit [ ... ] ]
            | . digit [ ... ] }

exponent:
E [ + | - ] digit [ ... ]

digit: Bármely szám 0 és 9 között.

A BD postfix és a kitevő E nem érzékeny a kis- és nagybetűkre.

Példák

> 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)