코락 CoRock
코딩하는 락스타
코락 CoRock
  • 분류 전체보기 (393)
    • frameworks (19)
      • spring (19)
      • spring-boot (0)
      • testing (0)
    • languages (94)
      • java (39)
      • kotlin (0)
      • python (42)
      • r (13)
    • libraries (0)
    • programming (239)
      • android (13)
      • c (17)
      • cpp (22)
      • database (18)
      • design-pattern (4)
      • data-structures (11)
      • git (8)
      • hadoop (6)
      • html-css (7)
      • issue (4)
      • javascript (26)
      • jsp (34)
      • os (29)
      • php (6)
      • preferences (19)
      • etc (15)
    • discography (37)
      • k-pop (18)
      • pop (19)
    • blog (3)

블로그 메뉴

  • Programming
  • Java
  • JavaScript
  • Discography
  • K-Pop Songs
  • Pop Songs
  • Blog
  • Guestbook

공지사항

인기 글

태그

  • javascript
  • Spring
  • jsp
  • CentOS
  • Java
  • 자바스크립트
  • r
  • 파이썬
  • linux
  • python
  • Android
  • oracle

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
코락 CoRock

코딩하는 락스타

[Database] 단일 함수로 쿼리를 다채롭게 하자!
programming/database

[Database] 단일 함수로 쿼리를 다채롭게 하자!

2018. 4. 18. 22:43
반응형




함수?

 :어떤 입력 값을 받아서 정해진 루틴에 의해 작업을 하고 결과값을 만들어서 출력해주는 것


1) 함수의 종류

1. 단일 행 함수

2. 복수 행 함수


2) 단일 함수

(1) 문자 함수

- INITCAP() : 영어에서 첫 글자만 대문자로 출력하고 나머지는 전부 소문자로 출력하는 함수

- LOWER() / UPPER() : 입력되는 값을 전부 소문자 / 대문자로 변경하는 함수

- LENGTH() / LENGTHB() : 지정된 문자열의 길이를(byte 수를) 계산해 주는 함수

- SUBSTR() : 주어진 문자열에서 특정길이의 문자를 골라낼 때 사용하는 함수

- SUBSTRB() : 아래와 동일하며 추출할 자릿수가 아니라 추출할 byte 수를 지정하는 함수

- INSTR() : 주어진 문자열이나 컬럼에서 특정 글자가 있는 위치를 찾아주는 함수

- LPAD() : 원래 데이터를 오른쪽에 두고 왼쪽에 빈자리가 있을 경우 왼쪽을 특정 기호나 문자로 채우는 7함수
- RPAD() : 원래 데이터는 왼쪽에 두고 오른쪽 공백을 특정 기호나 문자로 채우는 함수

- LTRIM() : 왼쪽에 지정된 문자가 있을 경우 제거하는 함수

- RTRIM() : 오른쪽에 지정된 문자가 있을 경우 제거하는 함수

- REPLACE() : 첫 번째 문자열이나 컬럼에서 문자1을 문자2로 바꾸는 함수


(2) 숫자 함수

- ROUND() : 주어진 숫자에서 반올림을 하는 함수
- TRUNC() : 주어진 숫자에서 버림을 하는 함수
- MOD() : 나머지 값을 구하는 함수
- CEIL() : 주어진 숫자와 가장 가까운 큰 정수를 구하는 함수
- FLOOR() : 주어진 숫자와 가장 가까운 작은 정수를 구하는 함수

(3) 날짜 함수

- SYSDATE() : 현재의 날짜와 시간을 출력해 주는 함수
- MONTHS_BETWEEN() : 두 날짜를 입력 받아서 두 날짜 사이의 개월 수를 출력하는 함수
- ADD_MONTHS() : 주어진 날짜에 숫자 만큼의 달을 추가하는 함수
- NEXT_DAY() : 주어진 날짜를 기준으로 돌아오는 가장 최근 요일의 날짜를 반환해주는 함수
- LAST_DAY() : 주어진 날짜가 속한 달의 가장 마지막 날을 출력해주는 함수

* 날짜의 ROUND, TRUNC 함수
- ROUND() : 주어진 날짜가 이 시간을 넘어설 경우에 다음 날짜로 출력
- TRUNC() : 무조건 당일로 출력

(4) 데이터 형 변환 함수

- TO_CHAR() :

숫자 → 문자로 형 변환

날짜 → 문자로 형 변환

- TO_NUMBER() : 숫자가 아닌 숫자처럼 생긴 문자를 숫자로 바꾸어 주는 함수

- TO_DATE() : 날짜가 아닌 날짜처럼 생긴 문자를 날짜로 바꿔 주는 함수


(5) 다양한 일반 함수

- NVL() : Null VaLue

- DECODE() : IF 문과 일맥상통

- CASE : DECODE 함수는 주로 = 조건 값을 처리하는 데 사용; 크거나 작은 조건을 처리할 때 CASE를 사용



1) 기본적인 그룹 함수들

① COUNT() : 함수에 입력되는 데이터의 총 건수를 반환하는 함수

② SUM() : 입력된 데이터들의 합계 값을 구하는 함수

③ AVG() : 입력된 값들의 평균값을 구해주는 함수

④ MAX() / MIN() : 주어진 데이터 중에서 가장 큰(작은) 값을 반환하는 함수


2) GROUP BY 절

GROUP BY 절은 특정 조건으로 세부적인 결과를 출력한다.


사용할 때 주의 사항이 있는데,

1. SELECT 절에 사용된 그룹함수 이외의 컬럼이나 표현식은 반드시 GROUP BY 절에 사용되어야 한다.

2. GROUP BY 절에 사용된 컬럼은 SELECT 절에 사용되지 않아도 된다.

3. GROUP BY 절에는 반드시 컬럼명이 사용되어야 하며 컬럼 별칭은 사용하면 안된다.


3) HAVING 절

④ MAX() / MIN() : 주어진 데이터 중에서 가장 큰(작은) 값을 반환하는 함수


4) 데이터들을 모아서 집계를 해주는 함수들

① ROLLUP() : 주어진 데이터들의 소계를 구해주는 함수

cf. 각 항목의 소계는 나오지만 전체 총계는 나오지 않는다.


② CUBE() : 주어진 데이터들의 전체 총계까지 구해주는 함수


③ GROUPING SETS() : 하나의 테이블에 다양한 집계 함수를 사용해야 할 경우 쓰는 함수

④ LISTAGG() : 쉽게 그룹핑을 해주는 함수


반응형
저작자표시 비영리 변경금지 (새창열림)
    'programming/database' 카테고리의 다른 글
    • [MySQL] 데이터베이스 프로그래밍
    • [Database] ERWin 설치 방법
    • [Database] SELECT 문으로 특정 데이터 추출하기
    • [Oracle] 데이터베이스의 개요
    코락 CoRock
    코락 CoRock
    A COder dreaming of being a ROCKstar

    티스토리툴바