+
(더하기 기호) 연산자
적용 대상: Databricks SQL Databricks Runtime으로 표시됨
및 의 합계를 expr1
반환합니다 expr2
.
구문
expr1 + expr2
인수
expr1
: 숫자, DATE, TIMESTAMP 또는 INTERVAL 식입니다.expr2
: 가 숫자인 경우expr1
숫자expr2
식이어야 합니다. 그렇지 않으면 INTERVAL입니다.
반환
- 가 숫자인 경우
expr1
인수의 공통 최대 형식입니다. - 가 DATE이고
expr2
일 시간 간격인 경우expr1
결과는 TIMESTAMP입니다. - 및
expr2
가 연도-월 간격인 경우expr1
결과는 결과를 나타낼 수 있는 충분히 넓은 단위의 연도-월 간격입니다. - 및
expr2
가 요일 간격인 경우expr1
결과는 결과를 나타낼 수 있는 충분히 넓은 단위의 요일 간격입니다. - 그렇지 않으면 결과 형식이 과 일치합니다
expr1
.
두 식이 간격인 경우 동일한 클래스여야 합니다.
DATE에 1년 간격을 추가하면 Azure Databricks는 결과 날짜가 올바른 형식인지 확인합니다.
결과가 결과 형식을 오버플로하면 Azure Databricks에서 ARITHMETIC_OVERFLOW 오류가 발생합니다.
오버플로에서 반환 NULL
하려면 try_add 사용합니다.
Warning
Databricks Runtime에서 spark.sql.ansi.enabled 가 false
이면 오버플로로 인해 오류가 발생하지 않고 결과를 대신 "래핑"합니다.
예
> SELECT 1 + 2;
3
> SELECT DATE'2021-03-20' + INTERVAL '2' MONTH
2021-5-20
> SELECT TIMESTAMP'2021-03-20 12:15:29' + INTERVAL '3' SECOND
2021-03-20 12:15:32
> SELECT typeof(INTERVAL '3' DAY + INTERVAL '2' HOUR)
interval day to hour
> SELECT DATE'2021-03-31' + INTERVAL '1' MONTH;
2021-04-30
> SELECT 127Y + 1Y;
Error: ARITMETIC_OVERFLOW