날짜 및 시간 함수
날짜 및 시간 함수 (Date & time functions)
이 문서는 날짜(date), 시간(time), 타임스탬프(timestamp) 데이터를 구성(construct), 변환(convert), 추출(extract), 수정(modify)하는 데 사용하는 날짜 및 시간 함수들에 대해 설명해요. 출력 형식, 지원되는 날짜·시간 파트, 달력 주(week) 처리 방식도 함께 다룹니다.
본문
이 함수 계열은 날짜, 시간, 타임스탬프 데이터를 구성, 변환, 추출 또는 수정하는 데 사용할 수 있어요.
함수 목록 (List of functions)
| 하위 범주 (Sub-category) | 함수 (Function) | 참고 (Notes) |
|---|---|---|
| 구성 (Construction) | DATE_FROM_PARTS |
|
TIME_FROM_PARTS |
||
TIMESTAMP_FROM_PARTS |
||
| 추출 (Extraction) | DATE_PART |
모든 날짜·시간 파트를 받음 (지원되는 날짜·시간 파트 참고) |
DAYNAME |
||
EXTRACT |
DATE_PART의 대안 |
|
HOUR / MINUTE / SECOND |
DATE_PART의 대안 |
|
LAST_DAY |
관련 날짜 파트를 받음 (지원되는 날짜·시간 파트 참고) | |
MONTHNAME |
||
NEXT_DAY |
||
PREVIOUS_DAY |
||
YEAR* / DAY* / WEEK* / MONTH / QUARTER |
DATE_PART의 대안 |
|
| 덧셈/뺄셈 (Addition/subtraction) | ADD_MONTHS |
|
DATEADD |
관련 날짜·시간 파트를 받음 (지원되는 날짜·시간 파트 참고) | |
DATEDIFF |
관련 날짜·시간 파트를 받음 (지원되는 날짜·시간 파트 참고) | |
MONTHS_BETWEEN |
||
TIMEADD |
DATEADD의 별칭 |
|
TIMEDIFF |
DATEDIFF의 별칭 |
|
TIMESTAMPADD |
DATEADD의 별칭 |
|
TIMESTAMPDIFF |
DATEDIFF의 별칭 |
|
| 절삭 (Truncation) | DATE_TRUNC |
관련 날짜·시간 파트를 받음 (지원되는 날짜·시간 파트 참고) |
TIME_SLICE |
시간을 균등 간격 구간의 시작으로 "반올림"할 수 있게 함 | |
TRUNCATE, TRUNC |
DATE_TRUNC의 대안 |
|
| 변환 (Conversion) | TO_DATE, DATE |
문자열, 타임스탬프, VARIANT 표현식 기반 변환을 지원. Unix 에포크 시작 기반 변환의 정수를 지원 |
TO_TIME, TIME |
문자열, 타임스탬프, VARIANT 표현식 기반 변환을 지원. Unix 에포크 시작 기반 변환의 정수를 지원 | |
TO_TIMESTAMP / TO_TIMESTAMP_* |
문자열, 날짜, 타임스탬프, VARIANT 표현식 기반 변환을 지원. Unix 에포크 시작 기반 변환의 숫자 표현식과 정수를 지원 | |
| 시간대 (Time zone) | CONVERT_TIMEZONE |
|
| 알림 (Alerts) | LAST_SUCCESSFUL_SCHEDULED_TIME |
|
SCHEDULED_TIME |
출력 형식 (Output formats)
여러 날짜 및 시간 함수는 날짜, 시간, 타임스탬프 값을 반환해요. 다음 세션 파라미터들이 이 함수들이 반환하는 출력의 형식을 결정합니다:
- 시간의 표시 형식은
TIME_OUTPUT_FORMAT세션 파라미터(기본HH24:MI:SS)로 결정돼요. - 날짜의 표시 형식은
DATE_OUTPUT_FORMAT세션 파라미터(기본YYYY-MM-DD)로 결정돼요. - 타임스탬프의 표시 형식은 함수가 반환하는 타임스탬프 데이터 타입에 따라 결정돼요. 다음 세션 파라미터들이 서로 다른 타임스탬프 데이터 타입의 출력 형식을 설정합니다:
TIMESTAMP_LTZ_OUTPUT_FORMATTIMESTAMP_NTZ_OUTPUT_FORMATTIMESTAMP_TZ_OUTPUT_FORMATTIMESTAMP_OUTPUT_FORMAT
자세한 내용은 날짜 및 시간 입출력 형식(Date and time input and output formats) 문서를 참고하세요.
지원되는 날짜 및 시간 파트 (Supported date and time parts)
일부 함수(그리고 해당 별칭 및 대안)는 인자로 날짜 또는 시간 파트를 받아요. 다음 두 표는 이 함수들과 함께 사용할 수 있는 (대소문자를 구분하지 않는) 파트를 나열합니다.
날짜 파트 (Date parts):
| Date parts | 약어/변형 (Abbreviations/variations) | DATEADD |
DATEDIFF |
DATE_PART |
DATE_TRUNC |
LAST_DAY |
|---|---|---|---|---|---|---|
year |
y, yy, yyy, yyyy, yr, years, yrs |
✔ | ✔ | ✔ | ✔ | ✔ |
month |
mm, mon, mons, months |
✔ | ✔ | ✔ | ✔ | ✔ |
day |
d, dd, days, dayofmonth |
✔ | ✔ | ✔ | ✔ | ✔ |
dayofweek [1] |
weekday, dow, dw |
✔ | ||||
dayofweek_iso [2] |
dayofweekiso, weekday_iso, dow_iso, dw_iso |
✔ | ||||
dayofyear |
yearday, doy, dy |
✔ | ||||
week [1] |
w, wk, weekofyear, woy, wy |
✔ | ✔ | ✔ | ✔ | ✔ |
week_iso [2] |
weekiso, weekofyeariso, weekofyear_iso |
✔ | ✔ | ✔ | ||
quarter |
q, qtr, qtrs, quarters |
✔ | ✔ | ✔ | ✔ | ✔ |
yearofweek [1] |
✔ | |||||
yearofweekiso [2] |
✔ | ✔ | ✔ |
[1] 사용 세부 사항은 Snowflake가 달력 주(calendar weeks)와 요일을 처리하는 방법을 설명하는 다음 섹션을 참고하세요.
[2] 다음 섹션에 설명된 것처럼 WEEK_START와 WEEK_OF_YEAR_POLICY 세션 파라미터에 의해 제어되지 않아요.
시간 파트 (Time parts):
| Time Parts | 약어/변형 (Abbreviations/variations) | DATEADD |
DATEDIFF |
DATE_PART |
DATE_TRUNC |
LAST_DAY |
|---|---|---|---|---|---|---|
hour |
h, hh, hr, hours, hrs |
✔ | ✔ | ✔ | ✔ | |
minute |
m, mi, min, minutes, mins |
✔ | ✔ | ✔ | ✔ | |
second |
s, sec, seconds, secs |
✔ | ✔ | ✔ | ✔ | |
millisecond |
ms, msec, milliseconds |
✔ | ✔ | ✔ | ||
microsecond |
us, usec, microseconds |
✔ | ✔ | ✔ | ||
nanosecond |
ns, nsec, nanosec, nsecond, nanoseconds, nanosecs, nseconds |
✔ | ✔ | ✔ | ✔ | |
epoch_second |
epoch, epoch_seconds |
✔ | ||||
epoch_millisecond |
epoch_milliseconds |
✔ | ||||
epoch_microsecond |
epoch_microseconds |
✔ | ||||
epoch_nanosecond |
epoch_nanoseconds |
✔ | ||||
timezone_hour |
tzh |
✔ | ||||
timezone_minute |
tzm |
✔ |
달력 주 및 요일 (Calendar weeks and weekdays)
Snowflake에서 주(week) 관련 함수의 동작은 WEEK_START와 WEEK_OF_YEAR_POLICY 세션 파라미터에 의해 제어돼요. 이 파라미터들이 어떻게 상호작용하는지 이해하는 데 중요한 측면은 ISO 주(ISO weeks) 개념이에요.
ISO 주 (ISO weeks)
ISO 8601 표준(날짜 및 시간 형식용)에 정의된 대로 ISO 주는 항상 월요일에 시작하고 그 주의 목요일이 포함된 연도에 "속해요". 즉 한 연도의 어떤 날이 다른 연도의 주에 속할 수 있다는 뜻이에요:
- 1월 초의 날들은 WOY(주중의 주, week of the year) 값이 52 또는 53일 수 있어요(즉 그 날이 이전 연도의 마지막 주에 속함).
- 12월 말의 날들은 WOY 값이 1일 수 있어요(즉 그 날이 다음 연도의 첫 번째 주에 속함).
Snowflake는 ISO 주 의미론과 일관된 특별한 주 관련 날짜 함수(및 동등한 데이터 파트) 세트를 제공합니다: DAYOFWEEKISO, WEEKISO, YEAROFWEEKISO. 이 함수들(및 데이터 파트)은 세션 파라미터를 무시해요(즉 항상 ISO 의미론을 따름). 다른 주 관련 날짜 함수가 처리되는 방법에 대한 자세한 내용은 다음 섹션들을 참고하세요:
- 주의 첫 번째 날 (First day of the week)
- 연도의 첫 번째와 마지막 주 (First and last weeks of the year)
- 예시 (Examples)
주의 첫 번째 날 (First day of the week)
대부분의 주 관련 함수는 WEEK_START 세션 파라미터에 의해서만 제어돼요. 함수 결과는 이 파라미터가 어떻게 설정되느냐에 따라 달라집니다:
| 함수 (Function) | 파라미터가 0으로 설정된 경우 (기본/레거시 동작) |
파라미터가 1-7 (월요일-일요일)로 설정된 경우 |
|---|---|---|
DAYOFWEEK |
0(일요일)에서 6(토요일)까지 반환 |
1(정의된 주의 첫 번째 날)에서 7(정의된 첫 번째 날 기준 주의 마지막 날)까지 반환 |
DATE_TRUNC (WEEK 파트 포함) |
입력 주를 월요일에 시작하도록 절삭 | 입력 주를 정의된 주의 첫 번째 날에 시작하도록 절삭 |
LAST_DAY (WEEK 파트 포함) |
입력 주의 일요일을 반환 | 정의된 주의 첫 번째 날 기준 입력 주의 마지막 날을 반환 |
DATEDIFF (WEEK 파트 포함) |
월요일에 시작하는 주를 사용해 계산 | 정의된 주의 첫 번째 날에 시작하는 주를 사용해 계산 |
팁: 파라미터의 기본값은 0이며, 이는 레거시 Snowflake 동작(ISO 유사 의미론)을 보존해요. 그러나 결과 함수의 동작을 명시적으로 제어하려면 이 값을 변경할 것을 권장해요. 가장 일반적인 시나리오는 파라미터를 1로 설정하는 것이에요.
연도의 첫 번째와 마지막 주 (First and last weeks of the year)
WEEK_OF_YEAR_POLICY 세션 파라미터는 WEEK와 YEAROFWEEK 함수가 동작하는 방식을 제어해요. 파라미터는 두 가지 값을 가질 수 있어요:
0: 영향을 받는 주 관련 함수는 ISO 의미론과 유사한 의미론을 사용하며, 주의 4일 이상이 해당 연도에 있으면 그 주가 해당 연도에 속해요. 즉 모든 주는 7일이지만 1월의 첫날과 12월의 마지막 날은 다른 연도의 주에 속할 수 있어요. 이런 이유로YEAROFWEEK와YEAROFWEEKISO함수 모두 그 주가 속한 연도를 제공할 수 있어요.1: 1월 1일이 항상 연도의 첫 번째 주를 시작하고, 12월 31일은 항상 연도의 마지막 주에 있어요. 즉 연도의 첫 번째 주와 마지막 주는 7일보다 적을 수 있어요.
이 동작은 WEEK_START 세션 파라미터에 설정된 값으로 제어되는 주의 시작 요일에 의해서도 영향을 받아요:
0또는1: 주가 월요일에 시작하는 ISO 주 의미론과 동등한 동작.2에서7: "4일" 논리는 보존되지만 주의 첫 번째 요일이 달라져요.
팁: 두 파라미터의 기본값은 모두 0이며, 이는 레거시 Snowflake 동작(ISO 유사 의미론)을 보존해요. 그러나 결과 함수의 동작을 명시적으로 제어하려면 이 값들을 변경할 것을 권장해요. 가장 일반적인 시나리오는 두 파라미터를 모두 1로 설정하는 것이에요.
예시 (Examples)
이 예시들은 동일한 날짜 함수 세트를 쿼리하지만 WEEK_OF_YEAR_POLICY와 WEEK_START 세션 파라미터에 서로 다른 값을 설정해서 함수 결과에 어떤 영향을 주는지 보여줘요.
예시들은 다음 데이터를 사용합니다:
CREATE OR REPLACE TABLE week_examples (d DATE);
INSERT INTO week_examples VALUES
('2016-12-30'),
('2016-12-31'),
('2017-01-01'),
('2017-01-02'),
('2017-01-03'),
('2017-01-04'),
('2017-01-05'),
('2017-12-30'),
('2017-12-31');
주의 첫 번째 날 제어하기 (Controlling the first day of the week)
WEEK_START를 0(레거시 동작) 또는 1(월요일)로 설정해도 큰 차이는 없어요. 다음 두 예시와 같습니다:
ALTER SESSION SET WEEK_START = 0;
SELECT d "Date",
DAYNAME(d) "Day",
DAYOFWEEK(d) "DOW",
DATE_TRUNC('week', d) "Trunc Date",
DAYNAME("Trunc Date") "Trunc Day",
LAST_DAY(d, 'week') "Last DOW Date",
DAYNAME("Last DOW Date") "Last DOW Day",
DATEDIFF('week', '2017-01-01', d) "Weeks Diff from 2017-01-01 to Date"
FROM week_examples;
+------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------+
| Date | Day | DOW | Trunc Date | Trunc Day | Last DOW Date | Last DOW Day | Weeks Diff from 2017-01-01 to Date |
|------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------|
| 2016-12-30 | Fri | 5 | 2016-12-26 | Mon | 2017-01-01 | Sun | 0 |
| 2016-12-31 | Sat | 6 | 2016-12-26 | Mon | 2017-01-01 | Sun | 0 |
| 2017-01-01 | Sun | 0 | 2016-12-26 | Mon | 2017-01-01 | Sun | 0 |
| 2017-01-02 | Mon | 1 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-01-03 | Tue | 2 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-01-04 | Wed | 3 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-01-05 | Thu | 4 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-12-30 | Sat | 6 | 2017-12-25 | Mon | 2017-12-31 | Sun | 52 |
| 2017-12-31 | Sun | 0 | 2017-12-25 | Mon | 2017-12-31 | Sun | 52 |
+------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------+
ALTER SESSION SET WEEK_START = 1;
SELECT d "Date",
DAYNAME(d) "Day",
DAYOFWEEK(d) "DOW",
DATE_TRUNC('week', d) "Trunc Date",
DAYNAME("Trunc Date") "Trunc Day",
LAST_DAY(d, 'week') "Last DOW Date",
DAYNAME("Last DOW Date") "Last DOW Day",
DATEDIFF('week', '2017-01-01', d) "Weeks Diff from 2017-01-01 to Date"
FROM week_examples;
+------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------+
| Date | Day | DOW | Trunc Date | Trunc Day | Last DOW Date | Last DOW Day | Weeks Diff from 2017-01-01 to Date |
|------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------|
| 2016-12-30 | Fri | 5 | 2016-12-26 | Mon | 2017-01-01 | Sun | 0 |
| 2016-12-31 | Sat | 6 | 2016-12-26 | Mon | 2017-01-01 | Sun | 0 |
| 2017-01-01 | Sun | 7 | 2016-12-26 | Mon | 2017-01-01 | Sun | 0 |
| 2017-01-02 | Mon | 1 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-01-03 | Tue | 2 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-01-04 | Wed | 3 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-01-05 | Thu | 4 | 2017-01-02 | Mon | 2017-01-08 | Sun | 1 |
| 2017-12-30 | Sat | 6 | 2017-12-25 | Mon | 2017-12-31 | Sun | 52 |
| 2017-12-31 | Sun | 7 | 2017-12-25 | Mon | 2017-12-31 | Sun | 52 |
+------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------+
WEEK_START를0으로 설정하면 일요일의 DOW는0이에요.WEEK_START를1로 설정하면 일요일의 DOW는7이에요.
WEEK_START가 월요일이 아닌 다른 요일로 설정되면 결과가 더 크게 달라져요. 예를 들어 파라미터를 3(수요일)으로 설정하면 모든 주 관련 함수(3~8열)의 결과가 바뀝니다:
ALTER SESSION SET WEEK_START = 3;
SELECT d "Date",
DAYNAME(d) "Day",
DAYOFWEEK(d) "DOW",
DATE_TRUNC('week', d) "Trunc Date",
DAYNAME("Trunc Date") "Trunc Day",
LAST_DAY(d, 'week') "Last DOW Date",
DAYNAME("Last DOW Date") "Last DOW Day",
DATEDIFF('week', '2017-01-01', d) "Weeks Diff from 2017-01-01 to Date"
FROM week_examples;
+------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------+
| Date | Day | DOW | Trunc Date | Trunc Day | Last DOW Date | Last DOW Day | Weeks Diff from 2017-01-01 to Date |
|------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------|
| 2016-12-30 | Fri | 3 | 2016-12-28 | Wed | 2017-01-03 | Tue | 0 |
| 2016-12-31 | Sat | 4 | 2016-12-28 | Wed | 2017-01-03 | Tue | 0 |
| 2017-01-01 | Sun | 5 | 2016-12-28 | Wed | 2017-01-03 | Tue | 0 |
| 2017-01-02 | Mon | 6 | 2016-12-28 | Wed | 2017-01-03 | Tue | 0 |
| 2017-01-03 | Tue | 7 | 2016-12-28 | Wed | 2017-01-03 | Tue | 0 |
| 2017-01-04 | Wed | 1 | 2017-01-04 | Wed | 2017-01-10 | Tue | 1 |
| 2017-01-05 | Thu | 2 | 2017-01-04 | Wed | 2017-01-10 | Tue | 1 |
| 2017-12-30 | Sat | 4 | 2017-12-27 | Wed | 2018-01-02 | Tue | 52 |
| 2017-12-31 | Sun | 5 | 2017-12-27 | Wed | 2018-01-02 | Tue | 52 |
+------------+-----+-----+------------+-----------+---------------+--------------+------------------------------------+
연도의 첫/마지막 주의 연도와 날짜 제어하기 (Controlling the year and days for the first/last weeks of the year)
다음 예시는 두 파라미터를 모두 0으로 설정해서 ISO 유사 의미론(즉 주가 월요일에 시작하고 모든 주가 7일)을 따릅니다:
ALTER SESSION SET WEEK_OF_YEAR_POLICY=0, WEEK_START=0;
SELECT d "Date",
DAYNAME(d) "Day",
WEEK(d) "WOY",
WEEKISO(d) "WOY (ISO)",
YEAROFWEEK(d) "YOW",
YEAROFWEEKISO(d) "YOW (ISO)"
FROM week_examples;
+------------+-----+-----+-----------+------+-----------+
| Date | Day | WOY | WOY (ISO) | YOW | YOW (ISO) |
|------------+-----+-----+-----------+------+-----------|
| 2016-12-30 | Fri | 52 | 52 | 2016 | 2016 |
| 2016-12-31 | Sat | 52 | 52 | 2016 | 2016 |
| 2017-01-01 | Sun | 52 | 52 | 2016 | 2016 |
| 2017-01-02 | Mon | 1 | 1 | 2017 | 2017 |
| 2017-01-03 | Tue | 1 | 1 | 2017 | 2017 |
| 2017-01-04 | Wed | 1 | 1 | 2017 | 2017 |
| 2017-01-05 | Thu | 1 | 1 | 2017 | 2017 |
| 2017-12-30 | Sat | 52 | 52 | 2017 | 2017 |
| 2017-12-31 | Sun | 52 | 52 | 2017 | 2017 |
+------------+-----+-----+-----------+------+-----------+
다음 예시는 WEEK_OF_YEAR_POLICY를 0으로 유지하면서 WEEK_START를 3(수요일)으로 바꾼 효과를 보여줍니다:
ALTER SESSION SET WEEK_OF_YEAR_POLICY=0, WEEK_START=3;
SELECT d "Date",
DAYNAME(d) "Day",
WEEK(d) "WOY",
WEEKISO(d) "WOY (ISO)",
YEAROFWEEK(d) "YOW",
YEAROFWEEKISO(d) "YOW (ISO)"
FROM week_examples;
+------------+-----+-----+-----------+------+-----------+
| Date | Day | WOY | WOY (ISO) | YOW | YOW (ISO) |
|------------+-----+-----+-----------+------+-----------|
| 2016-12-30 | Fri | 53 | 52 | 2016 | 2016 |
| 2016-12-31 | Sat | 53 | 52 | 2016 | 2016 |
| 2017-01-01 | Sun | 53 | 52 | 2016 | 2016 |
| 2017-01-02 | Mon | 53 | 1 | 2016 | 2017 |
| 2017-01-03 | Tue | 53 | 1 | 2016 | 2017 |
| 2017-01-04 | Wed | 1 | 1 | 2017 | 2017 |
| 2017-01-05 | Thu | 1 | 1 | 2017 | 2017 |
| 2017-12-30 | Sat | 52 | 52 | 2017 | 2017 |
| 2017-12-31 | Sun | 52 | 52 | 2017 | 2017 |
+------------+-----+-----+-----------+------+-----------+
- 2016년은 이제 53주(52주 대신)를 가져요.
- 2017년 1월 1일의 WOY는 52에서 53주로 이동해요.
- 2017년 1월 2일과 3일의 WOY는 1에서 53주로 이동해요.
- 2017년 1월 2일과 3일의 YOW는 2017에서 2016으로 이동해요.
- WOY (ISO)와 YOW (ISO)는 파라미터 변경의 영향을 받지 않아요.
마지막 두 예시는 WEEK_OF_YEAR_POLICY를 1로 설정하고 WEEK_START를 먼저 1(월요일), 그 다음 3(수요일)으로 설정합니다:
ALTER SESSION SET WEEK_OF_YEAR_POLICY=1, WEEK_START=1;
SELECT d "Date",
DAYNAME(d) "Day",
WEEK(d) "WOY",
WEEKISO(d) "WOY (ISO)",
YEAROFWEEK(d) "YOW",
YEAROFWEEKISO(d) "YOW (ISO)"
FROM week_examples;
+------------+-----+-----+-----------+------+-----------+
| Date | Day | WOY | WOY (ISO) | YOW | YOW (ISO) |
|------------+-----+-----+-----------+------+-----------|
| 2016-12-30 | Fri | 53 | 52 | 2016 | 2016 |
| 2016-12-31 | Sat | 53 | 52 | 2016 | 2016 |
| 2017-01-01 | Sun | 1 | 52 | 2017 | 2016 |
| 2017-01-02 | Mon | 2 | 1 | 2017 | 2017 |
| 2017-01-03 | Tue | 2 | 1 | 2017 | 2017 |
| 2017-01-04 | Wed | 2 | 1 | 2017 | 2017 |
| 2017-01-05 | Thu | 2 | 1 | 2017 | 2017 |
| 2017-12-30 | Sat | 53 | 52 | 2017 | 2017 |
| 2017-12-31 | Sun | 53 | 52 | 2017 | 2017 |
+------------+-----+-----+-----------+------+-----------+
ALTER SESSION SET week_of_year_policy=1, week_start=3;
SELECT d "Date",
DAYNAME(d) "Day",
WEEK(d) "WOY",
WEEKISO(d) "WOY (ISO)",
YEAROFWEEK(d) "YOW",
YEAROFWEEKISO(d) "YOW (ISO)"
FROM week_examples;
+------------+-----+-----+-----------+------+-----------+
| Date | Day | WOY | WOY (ISO) | YOW | YOW (ISO) |
|------------+-----+-----+-----------+------+-----------|
| 2016-12-30 | Fri | 53 | 52 | 2016 | 2016 |
| 2016-12-31 | Sat | 53 | 52 | 2016 | 2016 |
| 2017-01-01 | Sun | 1 | 52 | 2017 | 2016 |
| 2017-01-02 | Mon | 1 | 1 | 2017 | 2017 |
| 2017-01-03 | Tue | 1 | 1 | 2017 | 2017 |
| 2017-01-04 | Wed | 2 | 1 | 2017 | 2017 |
| 2017-01-05 | Thu | 2 | 1 | 2017 | 2017 |
| 2017-12-30 | Sat | 53 | 52 | 2017 | 2017 |
| 2017-12-31 | Sun | 53 | 52 | 2017 | 2017 |
+------------+-----+-----+-----------+------+-----------+
WEEK_OF_YEAR_POLICY를1로,WEEK_START를1(월요일)로 설정한 경우:2017-01-01의 WOY는1이에요.- 주 1은 1일로 구성돼요.
- 주 2는
Mon에 시작해요. - 이 사용 시나리오가 일반적으로 가장 흔해요.
WEEK_OF_YEAR_POLICY를1로,WEEK_START를3(수요일)으로 설정한 경우:- 2017-01-01의 WOY는 여전히
1이에요. - 주 1은 3일로 구성돼요.
- 주 2는
Wed에 시작해요.
- 2017-01-01의 WOY는 여전히
- 두 예시 모두에서 WOY (ISO)와 YOW (ISO)는 파라미터 변경의 영향을 받지 않아요.
더 알아보기 (Learn more)
- 스칼라 함수 (functions)
- 변환 함수 (functions-conversion)
- 날짜 및 시간 입출력 형식 (Date and time input and output formats)
- 컨텍스트 함수 (functions-context)