DECIMAL
類型
適用於: Databricks SQL Databricks Runtime
表示具有指定最大有效位數和固定小數位數的數位。
語法
{ DECIMAL | DEC | NUMERIC } [ ( p [ , s ] ) ]
p
:介於 1 到 38 之間的數位選擇性最大精確度(位數總數)。 預設值為 10。
s
:介於 0 和 p
之間的數字選擇性小數位數。 小數點右側的位數。 預設值是 0。
限制
數位的範圍:
- -1Ep + 1 到 -1E-s
- 0
- +1E-s 至 +1Ep - 1
例如,DECIMAL(5, 2) 的範圍為:-999.99 到 999.99。
常值
decimal_digits { [ BD ] | [ exponent BD ] }
| digit [ ... ] [ exponent ] BD
decimal_digits:
[ + | - ] { digit [ ... ] . [ digit [ ... ] ]
| . digit [ ... ] }
exponent:
E [ + | - ] digit [ ... ]
digit
:任何從 0 到 9 的數位。
BD
後置和指數E
不區分大小寫。
範例
> 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)