관리 메뉴

JIE0025

[MySQL] 내장 함수, 제어흐름 함수 본문

백엔드/데이터베이스

[MySQL] 내장 함수, 제어흐름 함수

Kangjieun11 2021. 4. 17. 16:05
728x90

 

내장함수

 

SQL 의 함수는 DBMS가 제공하는 내장함수 (built-in function)과

사용자가 필요에 의해 직접 제작하는 사용자 정의 함수 (user-defined function)으로 나뉜다.

 

SQL에서의 함수는 수학의 함수와 같이 특정 값 or 열의 값을 입력 받아 그 값을 계산하고 결과값을 반환한다.

 

MySQL 제공 주요 함수

  • 모든 내장함수는 최초 선언시 유효한 입력값을 받아야한다.
  • SQL 내장 함수는 상수, 속성이름을 입력값으로 받아 단일 값을 결과로 반환한다.

 

 

 

 

 

 

제어흐름함수

 

  • IF(수식, 참, 거짓)

수식이 참일경우 두번째 인수 반환, 거짓일 경우 세번째 인수 반환

SELECT IF(1>2, '참', '거짓');

 

 

 

 

 

  • IFNULL(수식1, 수식2)

수식1이 NULL이 아니면 수식1 반환, NULL이면 수식2 반환

SELECT IFNULL(NULL, '널'), IFNULL(100, '널');

 

 

 

 

 

  • NULLIF(수식1, 수식2)

수식1과 수식2가 같으면 NULL 반환, 다르면 수식1 반환

SELECT NULLIF(100, 100), IFNULL(200, 100);

 

 

 

 

 

  • CASE ___ WHEN ___ ELSE ___ END

CASE는 내장함수가 아니고 연산자이다.

다중 분기에 사용

SELECT  조건값,

CASE

  WHEN 조건

  THEN '반환 값'

  WHEN 조건

  THEN '반환 값'

  ELSE 'WHEN 조건에 해당 안되는 경우 반환 값'

END

SELECT 10,
  CASE 10
  WHEN 1 
  THEN '일'
  WHEN 5 
  THEN '오'
  WHEN 10
  THEN '십'
  ELSE '몰라요'
END;

 

 

 

 

'백엔드 > 데이터베이스' 카테고리의 다른 글

[MySQL] JOIN 개요  (0) 2021.04.19
[MySQl]날짜/시간함수  (0) 2021.04.19
[MySQL] 데이터 형식 변환  (0) 2021.04.17
[MySQL] 변수 선언과 사용  (0) 2021.04.17
[MySQL] 데이터의 형식  (0) 2021.04.17