본문 바로가기

언어 기초/DBMS

[SQL 첫걸음 | 3장 정렬과 연산] 함수, CASE문

1. 학습목표

함수에 대해 이해할 수 있다.

CASE문에 대해 이해할 수 있다.

2.필요 개념 문장정리

함수

  • 함수명 (인수1, 인수2...)
  • 인수는 혐수명 뒤에 괄호로 묶어 표기한다. 인수의 수나 구분방법은 함수에 따라 다르다.
  • 인수는 파라미터라고도 부른다. 함수는 결과값을 반환하고 함수의 반환값이라고 한다.
  • MOD함수는 임수호는 나누어질 수와 나눌 수의 순으로 2개를 지정하면 나머지값을 반환하는 함수이다.
  • ROUND 함수는 소수점 단위를 반올림하는데 시용한다.

문자열 연산

출처 - SQL첫걸음

  • CONCAT SUBSTRING TRIM CHARATER_LENGTH
  • MySQL에서는 CONCAT함수로 문자열을 결합한다.
  • SUBSTRING 함수는 문자열의 일부분을 계싼해서 반환해주는 함수이다.
  • TRIM 함수는 문자열의 앞뒤로 여분의 스페이스가 있을 경우 이를 제거해주는 함수로 문자열 도중에 존재하는 스페이스는 제거되지 않는다
  • CHARACTER_LENGTH 함수는 문자열의 길이를 계산해 돌려주는 함수이다.

날짜연산

  • 날짜는 DATE형, 시간은 TIME형, 날짜와 시간은 DATETIME형과 같이 세분화해 지원하는 제품이 있다.
  • CURRENT_TIMESTAMP는 함수임에도 인수를 필요로 하지 않다.
  • CURRENT_DATE는 시스템 날짜의 날짜만 확인하는 함수이다. INTERVAL 1 DAY는 1일후라는 의미의 기간형 상수이다.
  • DATEDIFF함수는 날짜 사이에 차이가 얼마나 나는지 계산할 수 있다.

CASE문

출처 - SQL첫걸음

  • CASE문은 임의의 조건에 따라 독자적으로 변환 처리를 지정해 데이터를 변환하고 싶은 경우 사용한다.
  • CASE WHEN 조건식1 THEN 식1
    [WHEN 조건식2 THEN 식2 ...]
    [ELSE 식3]
    END
  • WHEN 절에는 참과 거짓을 반환하는 조건식을 기술한다. 해당 조건을 만족하면 참이 되는 경우는 THEN절에 기술한 식이 처리된다.
  • 차례로 처리결과를 CASE문의 결과값으로 반환하고 어떤 조건도 만족하지 못하는 경우 ELSE절에 기술한 식으로 넘어간다. 생략하는 경우 ELSE NULL로 간주한다.
  • COALESCE함수는 주어진 인수 가운데 NULL이 아닌 값에 대해서는 가장 먼저 지정된 인수값을 반환한다.
  • NULL값인지 아닌지는 IS NULL을 사용한다.
  •  

출처 - SQL첫걸음

3. 마무리

함수를 통해 다양한 연산을 할 수 있었다.

CASE문에 대해 이해할 수 있었다.