일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 가장 인기있는 파이썬 라이브러리
- Google vs OpenAI
- 파이썬 TypeError
- 상업시설용지 분양
- Google vs MicorSoft
- 종합과세
- 소형주택 세액감면
- PostgreSQL
- 전세보증보험
- 라이브러리 vs 패키지
- chatgpt vs bard
- robux
- 갤럭시탭 with Pen
- chatgpt 100% 신뢰금지
- 가장 많이 사용되는 파이썬 라이브러리
- 2룸 오피스텔 투자
- 오라클 데이터베이스 내장함수
- 종합소득세
- 데이터 리터러시
- 나는 어디로?
- 임대소득외 추가소득이 있을 경우
- 주상복합용지 분양
- 주택임대사업자
- 오피스텔투자
- 가장 많이 사용되는 파이썬 패키지
- bard 100% 신뢰금지
- 공개서적
- Python
- 가장 인기있는 파이썬 패키지
- 다주택임대
All thing of the world!
Oracle EXTRACT 설명 : 오라클 함수 본문
1. 함수의 목적
Oracle EXTRACT는 datetime 또는 interval 식에서 지정한 datetime 필드의 값을 추출하여 반환한다.
2. 샘플을 통한 개념 퀵뷰
SELECT EXTRACT(YEAR FROM DATE '1998-03-07')
FROM DUAL;
EXTRACT(YEARFROMDATE'1998-03-07')
---------------------------------
1998
3. 사용방법
4. 함수 PARAMETER 설명
[expr]
datetime 또는 interval 데이터 유형으로 볼 수 있는 모든 표현식이 가능하다.
■ YEAR 또는 MONTH가 요청되면 expr은 데이터 유형 DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP with LOCAL TIME ZONE 또는 INTERVAL YEAR TO MONTH의 표현식으로 평가되어야 한다.
■ DAY가 요청되면 expr은 DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP with LOCAL TIME ZONE 또는 INTERVAL DAY TO SECOND의 표현식으로 평가되어야한다.
■ HOUR, MINUTE 또는 SECOND가 요청되면 expr은 TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP with LOCAL TIME ZONE 또는 INTERVAL DAY TO SECOND의 표현식으로 평가되어야한다.
■ TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_ABBR, TIMEZONE_REGION 또는 TIMEZONE_OFFSET이 요청되면 expr은 TIME ZONE 또는 TIMESTAMP LOCAL TIME ZONE 유형의 표현식으로 평가되어야한다.
EXTRACT 함수는 expr을 ANSI datetime 데이터 형식으로 해석한다. 예를 들어, EXTRACT는 시간요소 없이 DATE를 레거시 Oracle DATE가 아닌 ANSI DATE로 처리한다.
따라서 DATE 값에서 YEAR, MONTH 및 DAY 만 추출 할 수 있다. 마찬가지로 TIMESTAMP WITH TIME ZONE 유형에서만 TIMEZONE_HOUR 및 TIMEZONE_MINUTE를 추출 할 수 있다.
표현식이 애매할 경우 'UNKNOWN'을 반환한다.
5. 다양한 샘플표현
example1) oe스키마의 orders테이블 order_date 컬럼에서 달만 추출하여 grouping하고, 추출한 달에 오더를 받은 수를 카운트한다.
SELECT EXTRACT(month FROM order_date) "Month", COUNT(order_date) "No. of Orders"
FROM orders
GROUP BY EXTRACT(month FROM order_date)
ORDER BY "No. of Orders" DESC, "Month";
example2) hr 스키마의 employees테이블에서 2007년 이후에 채용한 모든 사원을 조회한다.
SELECT last_name, employee_id, hire_date
2 FROM employees
3 WHERE EXTRACT(YEAR FROM hire_date) > 2007
4 ORDER BY hire_date;
LAST_NAME EMPLOYEE_ID HIRE_DAT
-------------------------------------------------- ----------- --------
Johnson 179 08/01/04
Grant 199 08/01/13
Marvins 164 08/01/24
Zlotkey 149 08/01/29
Geoni 183 08/02/03
Philtanker 136 08/02/06
Lee 165 08/02/23
Markle 128 08/03/08
Ande 166 08/03/24
Banda 167 08/04/21
Kumar 173 08/04/21
11 행이 선택되었습니다.
example3) 모호한 표현 때문에 unknown을 반환하는 경우
SELECT EXTRACT(TIMEZONE_REGION FROM TIMESTAMP '1999-01-01 10:00:00 -08:00')
FROM DUAL;
EXTRACT(TIMEZONE_REGIONFROMTIMESTAMP'1999-01-0110:00:00-08:00')
----------------------------------------------------------------
UNKNOWN
위 식에서 시간대 오프셋(-08)은 주어져 있지만, 이 오프셋으로 둘 이상의 시간대 지역이름이 매핑될 수 있기 때문에 unknown이 반환된다.
'IT > Oracle DBMS' 카테고리의 다른 글
Oracle DECODE 설명 : 오라클 함수 (0) | 2021.04.06 |
---|---|
Oracle DENSE_RANK 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle FIRST 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle FIRST_VALUE 설명 : 오라클 함수 (0) | 2021.04.06 |
Oracle GREATEST 설명 : 오라클 함수 (0) | 2021.04.06 |