다음을 통해 공유


DECIMAL 형식

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks 런타임

지정된 최대 정밀도 및 고정 규모로 숫자를 나타냅니다.

구문

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