무료 동영상 강의 https://youtu.be/8b2ZFsYKBwA

함수 개념 잡기


DBMS는 SQL 작성에 유용한 다양한 함수(FUNCTION)를 제공한다. 함수는 값을 입력 받아 계산이나 일정한 처리를 한 후에 결과 값을 돌려준다.

아래 SQL은 ABS라는 절대값을 구하는 함수의 사용 예제다. SQL을 실행하면 -100의 절대값인 100이 출력된다.

-- [SQL-3-10-1]
SELECT  ABS(-100) FUN_ABS FROM DUAL;

아래는 UPPER라는 함수다. 입력된 문자를 모두 대문자로 변환해 돌려주는 함수다.

-- [SQL-3-10-2]
SELECT  UPPER('abcD') FUN_UPPER FROM DUAL;

Tip. DUAL

위 SQL에서는 FROM 절에 DUAL이라는 특별한 테이블을 사용했다. DUAL은 데이터를 입력할 수는 없는 특별한 기능의 테이블이다. SELECT 시에 한 레코드로 이루어진 값을 출력하거나 돌려 받고 싶을때 주로 사용한다. 오라클에서 주로 사용하며 MySQL은 FROM DUAL을 생략하고 SELECT 절만 사용해도 같은 기능이 동작한다. 예를 들어 아래와 같이 SQL을 실행해도 FROM DUAL을 사용한 것과 같은 결과가 나온다.

SELECT UPPER('abcd') FUN_UPPER;

ABS와 UPPER 함수를 통해 함수란 어떤 것인지 간단하게 살펴봤다. 이처럼 함수는 값을 입력 받아 값에 대한 처리나 연산을 수행한 결과를 출력해준다. DBMS는 다양한 기본 함수를 제공하며, 필요하다면 사용자가 함수를 추가 개발할 수도 있다. DBMS가 제공하는 기본 함수의 사용법을 모두 알 필요는 없다. 아래의 레퍼런스를 참고해 어떠한 함수들이 있는지 한 번씩만 살펴보기 바란다. 어떤 함수가 있는지 대략적으로 기억한 후에 필요할 때 사용법을 찾아보자.

DBMS 별로 비슷한 기능의 함수를 제공하지만, 함수 명이나 사용법은 약간씩 다르다. 아래는 오라클의 함수가 정리된 레퍼런스 URL이다.

자주 사용하게 되는 함 수 몇 개만 간단히 살펴보자.