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입니다.expr1
과expr2
가 연-월 간격이면 결과는 결과를 나타낼 수 있을 만큼 충분히 넓은 단위의 연-월 간격입니다.expr1
과expr2
가 일-시간 간격이면 결과는 결과를 나타낼 수 있는 충분히 넓은 단위의 일-시간 간격입니다.- 그렇지 않으면 결과 형식은
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