함수 : 컬럼의 값을 읽어서 계산 결과 반환

  1. 단일행 -> N개를 읽어서 N개를 반환
  2. 그룹 -> N개를 읽어서 1개 반환

<단일행 함수>

1. 문자열 관련 함수

  • LENGTH() : 글자수 반환
  • INSTR('문자열', '찾는 문자' , 시작점, N번째 문자) : 해당 문자 찾아 인덱스 반환, 시작점이 -1이면 거꾸로
  • TRIM() : 양쪽 공백제거
  • LTRIM / RTRIM : 왼쪽 오른쪽 공백제거
  • LPAD /RPAD : 왼쪽 오른쪽에 문자 덧붙히기
  • LOWER : 소문자로
  • UPPER : 대문자로
  • INITCAP : 카멜표기법으로

2. 숫자함수

  • ABS() 절대값
  • MOD() 나머지 구하기
  • ROUND() 반올림, 자릿수 지정가능
  • CEIL() 올림
  • FLOOR() 내림
  • TRUNC() 버림

3. 날짜함수

  • SYSDATE :현재 DATE
  • SYSTIMESTAMP : 밀리세컨드까지 반환
  • MONTHS_BETWEEN (1, 2) : 1 과 2의 개월수 차이
  • ADD_MONTHS() : N개월 후
  • TO_CHAR : 숫자 ,날짜 -> 문자 타입으로 바꿈
  • TO_DATE : 날짜 형태 문자,숫자 -> 날짜 타입으로 바꿈

4. 형변환 함수

  • TO_NUMBER : 문자 -> 숫자
    • TO_NUMBER('1,000,000' , '9,999,999') => 1000000 으로 형식있는 문자를 숫자로 가능
    • 반대로
    • TO_CHAR(1000000,'L9,999,999' => \1,000,000 으로 형식있는 문자로도 변환 

5. NULL 처리함수

  • NVL(컬럼 , NULL일 경우의 값) = NULL인 경우의 결과값을 지정할 수 있다
  • NVL2(컬럼, NULL아닌경우, NULL인 경우 값) = NULL이 아닌경우 까지도 설정할 수 있다
  • NULLIF(A,B) : A=B 이면 NULL을 A<> B 이면 A를 나타낸다

6. 선택함수 : 여러 경우(조건) 에 따라 원하는 값을 선택할 수 있도록 한다

 -DECODE(계산식/컬럼 , 조건1, 값1 ,조건2, 값2 ... 조건N, 값 N , DEFAULT값 )

 

 -CASE

    WHEN ~ THEN ~

    ... 반복 ...(여러개 가능)

   END  


<그룹 함수>

  1. SUM, AVG , MAX, MIN
    1. AVG 는 계산시 NULL을 제외시킨다
    2. MAX 와 MIN 는 숫자 뿐만 아니라 문자와 날짜에도 적용된다
  2. COUNT()
    1. COUNT(*) + GROUP BY = 갯수가 0인 경우 출력이 되지 않는다
    2. COUNT(~~) 로만 사용해야 0도 포함해 출력된다.

* GROUP BY : 같은 값들을 하위 그룹으로 묶음 

                  -SELECT 문에는 묶은 컬럼 OR 그룹함수만 올 수 있게 제한된다.

(집계함수 ROLLUP / CUBE) ->GROUP BY 뒤에 사용해서 엑셀처럼 중간 집계 , 최종 집계를 볼 때 사용한다

 

 

 

+ Recent posts