SQL 내장함수

이윤근·2021년 7월 31일
0

SQL 내장함수(Stored Function)

1) 함수

  • 단일 행 함수(Single Row Function): 문자형, 숫자형, 날짜형, 변환형
  • 다중 행 함수(Multi Row Function): 그룹 함수

*여러 함수를 겹쳐서 사용 가능

2) 문자형 함수

  • UPPER(''): 대문자 변환
  • LOWER(''): 소문자 변환
  • INITCAP(''): 첫 글자만 대문자로 변환
  • CONCAT('', ''): 두 문자값 결합
  • SUBSTR('',a,b): 문자 추출 // a -> 시작인덱스 / b -> 추출 개수
  • LENGTH(''): 문자열 길이 반환
  • LPAD('a',b,'c'), RPAD('a',b,'c'): 'a'를 b크기의 공간에 입력하고 좌우측 공간을 'c'로 채움
  • LTRIM, RTRIM('a', 'b'): 'a'에서 'b'를 만날 때 까지 좌우측에서부터 삭제
  • TRANSLATE('a','b','c'): 'a' 문자열 중에서 'b'를 'c'로 대체 // 'b'와 'c'의 1:1 변환
  • REPLACE('a','b','c'): 'a' 문자열 중에서 'b'를 'c'로 대체 // 'b'에 정확히 일치하지 않으면 변환X
  • ('ABCDEFGHI','BDF','123') 수행 시 replace는 변환X, translate는 'A1C2E3GHI' 반환

3) 숫자형 함수

  • ROUND(a, b): 반올림 // a를 소수점 b자리수까지 반환 (아래값 반올림)
  • TRUNC(a, b): 절사 // a를 소수점 b자리까지 반환 (아래값 버림)
  • MOD(a, b): 나머지 반환 // a를 b로 나눈 나머지 반환
  • POWER(a, b): 거듭제곱 // a의 b승
  • SQRT(a): 제곱근 // 루트a
  • SIGN(a): 양수, 음수, 0 판별 // -1, 0, 1만 반환
  • CHR(a): ASCII값 해당 문자 반환 // if(a=65) return A;

4) 날짜형 함수

  • SYSDATE: 현재 시스템의 날짜 및 시간 반환
  • LAST_DAY('a'): a에 해당하는 월의 마지막 날짜 반환 // ex) 날짜입력 예시 18/11/27
  • MONTHS_BETWEEN('a','b'): a와 b의 차이 일자 반환
  • ADD_MONTHS('a',b): 'a'로부터 b달 후 반환
  • ROUND('a', 'b'): 'a'에 가까운 'b' 반환(반올림) // ex) '18/11/27', 'MONTH' -> '18/12/01'
  • TRUNC('a', 'b'): 'a'에 해당하는 'b'의 첫 날 반환 // ex) '18/11/27', 'year' -> '18/01/01'

*sysdate 입력시 시간이 삭제되고 날짜까지만 표시

5) 변환형 함수

  • TO_CHAR(문자값,'형식'): 숫자나 날짜를 문자열로 변환
    *0: 빈자리를 0으로 채움 / $: 달러 / L: 지역통화단위 / .: 소수점 표시 / ,: 천단위 표시
    ex) (3500000, '$999,999') -> $350,000 / (SYSDATE, 'YYYY/MM/DD') -> 2018/11/27
  • TO_NUMBER('a'): 문자를 숫자로 변환 // ex) '1234' -> 1234
  • TO_DATE(문자값, '형식'): 문자를 날짜로 변환

6) 그룹함수

  • COUNT(a): 행의 수 반환
  • AVG(a): 평균
  • SUM(a): 합계
  • MIN(a): 최소값
  • MAX(a): 최대값
  • STDDEV(a): 표준 편차
  • VARIANCE(a): 분산

count()을 제외한 그룹함수는 null값을 고려하지 않음

출처:https://wickies.tistory.com/45

profile
성실한코딩러

0개의 댓글