[오라클] 단일행함수(숫자함수, 문자함수, 날짜함수)
본문 바로가기
IT. 컴퓨터

[오라클] 단일행함수(숫자함수, 문자함수, 날짜함수)

by 솔기잇 2020. 7. 28.

 

 

 

---- 단일행함수(숫자함수, 문자함수, 날짜함수) ---

 

입력값이 n --> 단일행함수를 실행한 결과도 n

 

SELECT NAME, SUBSTR(NAME,2)

FROM TBL_NEWSAWON;

 

<결과>

NAME       SUBSTR(NAME,2)

한석규        석규

석규            

세석한        석한

네석규        석규

오연수        연수

일용이        용이

이미자        미자

삼미자        미자

사미자        미자

고소영        소영

노주현        주현

도지원       지원

 

 

 

<문제>

현재일로부터 12개월 3 4시간 5 6 뒤를 구하세요

<풀이>

SELECT SYSDATE,

 

       ADD_MONTHS(SYSDATE,(1*12)+2) + 3

       +4/24+ 5/(24*60) + 6/(24*60*60),

      

      SYSDATE + TO_YMINTERVAL('01-02') --,

               +TO_DSINTERVAL('003 04:05:06')

FROM DUAL;  

--> 2010-11-26 오후 1:57:30    2012-01-29 오후 6:02:36       2012-01-29 오후 6:02:36   

 

 

 

-- *** GROUP 함수(=집계함수, 집합함수) *** --

 

입력값이 n --> GROUP 함수를 실행한 결과는 1개 GROUP 함수는 NULL 모두 제외하고 연산을 한다.

 

1. SUM --> 합계

2. AVG --> 평균

3. COUNT --> 행의 갯수

4. MAX --> 최대값

5. MIN --> 최소값

6. VARIANCE --> 분산값

7. STDDEV --> 표준편차

 

 

 

SELECT SUM(SAL)

FROM TBL_NEWSAWON;

<결과>

SUM(SAL)

 51000

 

------------------------------------ 

 

SELECT SUM(COMM)

FROM TBL_NEWSAWON;

<결과>

SUM(COMM)

  4600

 

------------------------------------ 

 

SELECT SUM(COMM)

SELECT SAL

FROM TBL_NEWSAWON;

 

SELECT COUNT(SAL)

FROM TBL_NEWSAWON;

<결과>

COUNT(SAL)

   19

 

------------------------------------ 

 

SELECT COUNT(COMM)

FROM TBL_NEWSAWON;

<결과>

COUNT(COMM)

    10

 

------------------------------------ 

 

 

SELECT SUM(SAL) / COUNT(SAL),

       SUM(SAL) / 20,

       AVG(SAL)      

FROM TBL_NEWSAWON;

 

<결과>

SUM(SAL)/COUNT(SAL)         SUM(SAL)/20          AVG(SAL)

2684.21052631578947368             2550              2684.21052631578947368

 

------------------------------------ ------------------------------------ ------------------------------------ 

 

 

SELECT SUM(COMM) / COUNT(COMM),  -- NULL 아닌 사람들의 평균

       SUM(COMM) / 20,

       AVG(COMM)      

FROM TBL_NEWSAWON;

 

<결과>

SUM(COMM)/COUNT(COMM)    SUM(COMM)/20            AVG(COMM)

460       230       460

 

 

SELECT AVG(COMM), AVG(NVL(COMM,0))

FROM TBL_NEWSAWON;

 

<결과>

AVG(COMM)      AVG(NVL(COMM,0))

  460             242.105263157894736842105263157894736842

 

SELECT MAX(SAL), MIN(SAL)

FROM TBL_NEWSAWON;

 

<결과>

MAX(SAL)         MIN(SAL)

 5000        800

 

 

SELECT MAX(NAME), MIN(NAME)

FROM TBL_NEWSAWON;

 

<결과>

MAX(NAME)      MIN(NAME)

한석규    고두심

 

SELECT MAX(HIREDATE), MIN(HIREDATE)

FROM TBL_NEWSAWON;

 

<결과>

MAX(HIREDATE)            MIN(HIREDATE)

2005-10-09                     1990-01-02

 

SELECT VARIANCE(SAL), STDDEV(SAL),

            POWER(STDDEV(SAL), 2),

            SQRT(VARIANCE(SAL))

FROM TBL_NEWSAWON;      

 

 

------------------------------------------------------------------------

 

SELECT DEPTNO, SUM(SAL)

FROM TBL_NEWSAWON;

--> ORA-00937: 단일 그룹의 그룹 함수가 아닙니다


close