- 카테고리:
YEAR* / DAY* / WEEK* / MONTH / QUARTER¶
날짜 또는 타임스탬프에서 해당 날짜 부분을 추출합니다.
이러한 함수는 DATE_PART (또는 EXTRACT) 함수를 해당 날짜 부분과 함께 사용하는 것의 대안입니다(지원되는 날짜 및 시간 부분 참조).
- 참고 항목:
구문¶
YEAR( <date_or_timestamp_expr> )
YEAROFWEEK( <date_or_timestamp_expr> )
YEAROFWEEKISO( <date_or_timestamp_expr> )
DAY( <date_or_timestamp_expr> )
DAYOFMONTH( <date_or_timestamp_expr> )
DAYOFWEEK( <date_or_timestamp_expr> )
DAYOFWEEKISO( <date_or_timestamp_expr> )
DAYOFYEAR( <date_or_timestamp_expr> )
WEEK( <date_or_timestamp_expr> )
WEEKOFYEAR( <date_or_timestamp_expr> )
WEEKISO( <date_or_timestamp_expr> )
MONTH( <date_or_timestamp_expr> )
QUARTER( <date_or_timestamp_expr> )
사용법 노트¶
함수 이름 |
입력 날짜/타임스탬프에서 추출된 날짜 부분 |
가능한 값 |
---|---|---|
YEAR |
연도 |
모든 유효한 연도(예: 2017) |
YEAROFWEEK [1] |
추출된 주가 속하는 연도 |
모든 유효한 연도(예: 2017) |
YEAROFWEEKISO |
ISO 의미 체계를 사용하는 것을 제외하고는 YEAROFWEEK와 동일 |
모든 유효한 연도(예: 2017) |
DAY , DAYOFMONTH |
월의 일(숫자) |
1~31 |
DAYOFWEEK [1] |
요일(숫자) |
0~7 |
DAYOFWEEKISO |
ISO 의미 체계를 사용하는 것을 제외하고는 DAYOFWEEK와 동일 |
1~7 |
DAYOFYEAR |
연도의 일(숫자) |
1~366 |
WEEK , WEEKOFYEAR [1] |
연도의 주(숫자) |
1~54 |
WEEKISO |
ISO 의미 체계를 사용하는 것을 제외하고는 WEEK와 동일 |
1~53 |
MONTH |
연도의 월(숫자) |
1~12 |
QUARTER |
연도의 분기(숫자) |
1~4 |
[1] WEEK_OF_YEAR_POLICY 및/또는 WEEK_START 세션 매개 변수에 대해 설정된 값에 따라 결과가 정해집니다.
ISO 의미 체계 및 매개 변수에 대한 자세한 내용은 달력상의 주 및 요일 을 참조하십시오.
예¶
다음은 YEAR
, MONTH
, DAY
, DAYOFWEEK
, DAYOFYEAR
, QUARTER
함수의 사용법을 보여줍니다.
SELECT '2013-05-08T23:39:20.123-07:00'::TIMESTAMP AS tstamp, YEAR(tstamp) AS "YEAR", QUARTER(tstamp) AS "QUARTER OF YEAR", MONTH(tstamp) AS "MONTH", DAY(tstamp) AS "DAY", DAYOFMONTH(tstamp) AS "DAY OF MONTH", DAYOFYEAR(tstamp) AS "DAY OF YEAR"; +-------------------------+------+-----------------+-------+-----+--------------+-------------+ | TSTAMP | YEAR | QUARTER OF YEAR | MONTH | DAY | DAY OF MONTH | DAY OF YEAR | |-------------------------+------+-----------------+-------+-----+--------------+-------------| | 2013-05-08 23:39:20.123 | 2013 | 2 | 5 | 8 | 8 | 128 | +-------------------------+------+-----------------+-------+-----+--------------+-------------+
다음은 WEEK
, WEEKISO
, WEEKOFYEAR
, YEAROFWEEK
, YEAROFWEEKISO
함수의 사용법을 보여줍니다. 세션 매개 변수 WEEK_OF_YEAR_POLICY는 해당 연도의 첫 번째 주가 해당 연도의 1월 1일을 포함하는 주임을 나타내도록 설정됩니다.
ALTER SESSION SET WEEK_OF_YEAR_POLICY = 1;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, WEEK(tstamp) AS "WEEK", WEEKISO(tstamp) AS "WEEK ISO", WEEKOFYEAR(tstamp) AS "WEEK OF YEAR", YEAROFWEEK(tstamp) AS "YEAR OF WEEK", YEAROFWEEKISO(tstamp) AS "YEAR OF WEEK ISO" ; +-------------------------+------+----------+--------------+--------------+------------------+ | TSTAMP | WEEK | WEEK ISO | WEEK OF YEAR | YEAR OF WEEK | YEAR OF WEEK ISO | |-------------------------+------+----------+--------------+--------------+------------------| | 2016-01-02 23:39:20.123 | 1 | 53 | 1 | 2016 | 2015 | +-------------------------+------+----------+--------------+--------------+------------------+
또한, 다음은 WEEK
, WEEKISO
, WEEKOFYEAR
, YEAROFWEEK
, YEAROFWEEKISO
함수의 사용법을 보여줍니다. 세션 매개 변수 WEEK_OF_YEAR_POLICY는 해당 연도의 첫 번째 주가 해당 연도에서 최소 4일을 포함하는 연도의 첫 번째 주임을 나타내도록 설정됩니다. (예를 들어, 2010년 12월 26일부터 2011년 1월 1일까지의 주는 2011년의 첫 주가 아니라 2010년의 마지막 주로 간주됩니다. 2011년 1월 1일이 포함되어 있지만, 주의 절반 미만이 2011년에 속하기 때문입니다.)
ALTER SESSION SET WEEK_OF_YEAR_POLICY = 0;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, WEEK(tstamp) AS "WEEK", WEEKISO(tstamp) AS "WEEK ISO", WEEKOFYEAR(tstamp) AS "WEEK OF YEAR", YEAROFWEEK(tstamp) AS "YEAR OF WEEK", YEAROFWEEKISO(tstamp) AS "YEAR OF WEEK ISO" ; +-------------------------+------+----------+--------------+--------------+------------------+ | TSTAMP | WEEK | WEEK ISO | WEEK OF YEAR | YEAR OF WEEK | YEAR OF WEEK ISO | |-------------------------+------+----------+--------------+--------------+------------------| | 2016-01-02 23:39:20.123 | 53 | 53 | 53 | 2015 | 2015 | +-------------------------+------+----------+--------------+--------------+------------------+
다음은 DAYOFWEEK
및 DAYOFWEEKISO
함수의 사용법을 보여줍니다. 세션 매개 변수 WEEK_START는 해당 주가 일요일에 시작됨을 나타내도록 설정됩니다.
ALTER SESSION SET WEEK_START = 7;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, DAYOFWEEK(tstamp) AS "DAY OF WEEK", DAYOFWEEKISO(tstamp) AS "DAY OF WEEK ISO" ; +-------------------------+-------------+-----------------+ | TSTAMP | DAY OF WEEK | DAY OF WEEK ISO | |-------------------------+-------------+-----------------| | 2016-01-02 23:39:20.123 | 7 | 6 | +-------------------------+-------------+-----------------+
다음은 DAYOFWEEK
및 DAYOFWEEKISO
함수의 사용법을 보여줍니다. 세션 매개 변수 WEEK_START는 해당 주가 월요일에 시작됨을 나타내도록 설정됩니다.
ALTER SESSION SET WEEK_START = 0;SELECT '2016-01-02T23:39:20.123-07:00'::TIMESTAMP AS tstamp, DAYOFWEEK(tstamp) AS "DAY OF WEEK", DAYOFWEEKISO(tstamp) AS "DAY OF WEEK ISO" ; +-------------------------+-------------+-----------------+ | TSTAMP | DAY OF WEEK | DAY OF WEEK ISO | |-------------------------+-------------+-----------------| | 2016-01-02 23:39:20.123 | 6 | 6 | +-------------------------+-------------+-----------------+
더 많은 예는 날짜 및 시간 값 작업하기 섹션을 참조하십시오.
주 관련 함수(DAYOFWEEK, WEEK, WEEKOFYEAR, YEAROFWEEK 등)에 대한 자세한 예는 달력상의 주 및 요일 을 참조하십시오.