

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# addWorkDays
<a name="addWorkDays-function"></a>

`addWorkDays` 지정된 날짜 값에 지정된 근무일 수를 더하거나 뺍니다. 이 함수는 지정된 입력 날짜 값 이후 또는 그 이전의 지정된 근무일에 해당하는 근무일의 날짜를 반환합니다.

## 구문
<a name="addWorkDays-function-syntax"></a>

```
addWorkDays(initDate, numWorkDays)
```

## 인수
<a name="addWorkDays-function-arguments"></a>

initDate  
계산 시작 날짜 역할을 하는 NULL이 아닌 유효한 날짜입니다.  
+ **데이터 세트 필드** - 이 함수를 추가하는 데이터 세트의 `date` 필드.
+ **날짜 함수** - 다른 `date` 함수의 모든 날짜 출력(예: `parseDate`, `epochDate`, `addDateTime` 등).  
**Example**  

  ```
  addWorkDays(epochDate(1659484800), numWorkDays)
  ```
+ **계산된 필드** - `date` 값을 반환하는 빠른 계산된 필드입니다.  
**Example**  

  ```
  calcFieldStartDate = addDateTime(10, “DD”, startDate)
  addWorkDays(calcFieldStartDate, numWorkDays)
  ```
+ **파라미터** - 모든 빠른 `datetime` 파라미터입니다.  
**Example**  

  ```
  addWorkDays($paramStartDate, numWorkDays)
  ```
+ 위에 명시된 인수 값의 조합입니다.

 numWorkDays   
계산 종료 날짜 역할을 하는 NULL이 아닌 정수입니다.  
+ **리터럴** - 표현식 편집기에 직접 입력되는 정수 리터럴입니다.  
**Example**  

  ```
  ```
+ **데이터 세트 필드** - 데이터 세트의 날짜 필드   
**Example**  

  ```
  ```
+ **스칼라 함수 또는 계산** - `decimalToInt`, 등과 같이 다른의 정수 출력을 반환하는 모든 스칼라 빠른 함수`abs`입니다.  
**Example**  

  ```
  addWorkDays(initDate, decimalToInt(sqrt (abs(numWorkDays)) ) )
  ```
+ **계산된 필드** - `date` 값을 반환하는 빠른 계산된 필드입니다.  
**Example**  

  ```
  someOtherIntegerCalcField = (num_days * 2) + 12
  addWorkDays(initDate, someOtherIntegerCalcField)
  ```
+ **파라미터** - 모든 빠른 `datetime` 파라미터입니다.  
**Example**  

  ```
  addWorkDays(initDate, $param_numWorkDays)
  ```
+ 위에 명시된 인수 값의 조합입니다.

## 반환 타입
<a name="addWorkDays-function-return-type"></a>

Integer 

## 출력 값
<a name="addWorkDays-function-output-type"></a>

예상 출력 값은 다음과 같습니다.
+ 양의 정수(start\$1date < end\$1date인 경우)
+ 양의 정수(start\$1date > end\$1date인 경우)
+ 인수 중 하나 또는 둘 모두가 `dataset field`에서 null 값을 가져오면 NULL입니다.

## 입력 오류
<a name="addWorkDays-function-errors"></a>

허용되지 않는 인수 값은 다음 예제와 같이 오류를 발생시킵니다.
+ 표현식에서 리터럴 NULL을 인수로 사용하는 것은 허용되지 않습니다.  
**Example**  

  ```
  addWorkDays(NULL, numWorkDays) 
  ```  
**Example**  

  ```
  Error
  At least one of the arguments in this function does not have correct type. 
  Correct the expression and choose Create again.
  ```
+ 표현식에서 문자열 리터럴을 인수로 사용하거나 날짜 이외의 다른 데이터 유형을 사용하는 것은 허용되지 않습니다. 다음 예제에서 문자열 **"2022-08-10"**은(는) 날짜처럼 보이지만 실제로는 문자열입니다. 이 함수를 사용하려면 날짜 데이터 유형으로 변환하는 함수를 사용해야 합니다.  
**Example**  

  ```
  addWorkDays("2022-08-10", 10)
  ```  
**Example**  

  ```
  Error
  Expression addWorkDays("2022-08-10", numWorkDays) for function addWorkDays has 
  incorrect argument type addWorkDays(String, Number). 
  Function syntax expects Date, Integer.
  ```

## 예제
<a name="addWorkDays-function-example"></a>

양의 정수를 `numWorkDays` 인수로 사용하면 입력 날짜의 미래 날짜가 산출됩니다. 음의 정수를 `numWorkDays`인수로 사용하면 입력 날짜 이전의 결과 날짜가 산출됩니다. `numWorkDays` 인수 값이 0이면 근무일이든 주말이든 상관없이 입력 날짜와 동일한 값을 산출합니다.

`addWorkDays` 함수는 `DAY`와(과) 같은 세분화 수준에서 작동합니다. `DAY` 레벨보다 낮거나 높은 세분도에서는 정확도를 유지할 수 없습니다.

```
addWorkDays(startDate, endDate)
```

다음 값을 포함하며 `employmentStartDate`이라고 이름이 지정된 필드가 있다고 가정해 보겠습니다.

```
2022-08-10 2022-08-06 2022-08-07 
```

위 필드와 다음 계산을 사용하여 `addWorkDays`은(는) 아래와 같이 수정된 값을 반환합니다.

```
addWorkDays(employmentStartDate, 7)

2022-08-19 
2022-08-16 
2022-08-16 

addWorkDays(employmentStartDate, -5)

2022-08-02 
2022-08-01 
2022-08-03 

addWorkDays(employmentStartDate, 0)

2022-08-10 
2022-08-06 
2022-08-07
```

다음 예제에서는 각 직원이 실제로 근무한 일수를 기준으로 각 직원에게 2년간 지급될 총 비례 배분된 상여금을 계산합니다.

```
last_day_of_work = addWorkDays(employment_start_date, 730)
total_days_worked = netWorkDays(employment_start_date, last_day_of_work)
total_bonus = total_days_worked * bonus_per_day
```

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/addWorkDays-function-example.png)
