try_subtract 함수

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 10.4 LTS 이상

expr1에서 expr2를 뺀 값이나, 오버플로에 대해 NULL을 반환합니다.

구문

try_subtract ( expr1 , expr2 )

인수

  • expr1: 숫자, DATE, TIMESTAMP 또는 INTERVAL 식입니다.
  • expr2: expr1이 숫자면 expr2는 숫자 식이거나 INTERVAL이어야 합니다.

반품

  • expr1이 숫자숫자면 인수의 공통 최대 형식입니다.
  • expr1이 DATE이고 expr2가 일-시간 간격이면 결과는 TIMESTAMP입니다.
  • expr1expr2가 연-월 간격이면 결과는 결과를 나타낼 수 있을 만큼 충분히 넓은 단위의 연-월 간격입니다.
  • expr1expr2가 일-시간 간격이면 결과는 결과를 나타낼 수 있는 충분히 넓은 단위의 일-시간 간격입니다.
  • 그렇지 않으면 결과 형식은 expr1과 일치합니다.

두 식이 모두 간격인 경우 동일한 클래스여야 합니다.

결과가 결과 형식을 오버플로하면 Databricks SQL에서 NULL을 반환합니다.

DATE에서 연도-월 간격을 빼는 경우 Databricks SQL에서 결과 날짜가 올바른 형식이 되도록 합니다.

예제

> SELECT try_subtract(1, 2);
 -1

> SELECT try_subtract(DATE'2021-03-20', INTERVAL '2' MONTH);
 2021-1-20

> SELECT try_subtract(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
 2021-03-20 12:15:26

> SELECT typeof(try_subtract(INTERVAL '3' DAY, INTERVAL '2' HOUR));
 interval day to hour

> SELECT try_subtract(DATE'2021-03-31', INTERVAL '1' MONTH);
 2021-02-28

> SELECT try_subtract(-128Y, 1Y);
  NULL