he_on 2019. 11. 18. 00:59

함수

함수(FUNCTION)는 간단하게 말해서 값을 들어가면 원하는 값으로 변해져서 나오는 기능을 가지는 도구입니다 .

 

SQL에서 함수

 

SQL에서 함수는 여러분들이 아는 함수와 비슷한 기능을 합니다. 

수학에서 함수는 식을 만들고 계산하는 과정이 있지만 데이터베이스에서는 내장 함수(BUILT-IN FUNCTION)라고 미리 만들어진 함수들이 있고 우리는 그것들의 사용법만 익히고 사용하기만 하면됩니다!!

 

이번 파트에서는 그러한 함수들을 소개하고 직접 사용해보는 시간을 가져봅시다!!


함수에 들어가기 앞서

함수의 내용이 쉽고 재밌지만 양이 조금 많아서 여러파트로 나눠서 진행하기로 했습니다!! 오늘 하는 part 1는 비교적 익속하고 쉬운 내용이니 가볍게 봐주세요! 


함수의 기본적인 구조

기본구조
함수명 (칼럼이나 표현식 [인자1, 인자2, 인자3 ...(필요한 만큼)])

엥? 잘모르시겠다구요? 감이 잘 안오신다구요?  아래의 내용을 확인해봅시다!

 

숫자형 함수

 

숫자형 함수는 영어 단어만 알고 있다면 내용을 유추할 수 있습니다!

혹시 모르는 단어가 있다면 이번 기회에 새로운 단어를 배워보는 것은 어떨까요?

 

함수 함수 설명
ABS(숫자) 숫자의 절대값을 보여준다.
SIGN(숫자) 숫자가 양수인지, 음수인지, 0인지를 구별한다.
MOD(숫자1, 숫자2) 숫자1을 수자2로 나누어 나머지 값을 보여준다.
CEIL(숫자) 숫자보다 크거나 같은 최대 정수를 보여준다.
FLOOR(숫자) 숫자보다 작거나 같은 최대 정수를 보여준다.
TRUNC(숫자 , [원하는 자리수]) 숫자를 원하는 자리수에서 잘라서 버린다. 원하는 자리수는 적지 않을 수 있고 생략되면 0으로 입력된다.
ROUND(숫자, [원하는 자리수]) 숫자를 원하는 자리수에서 반올림한다. 원하는 자리수는 적지 않을 수 있고 생략되면 0으로 입력된다.
POWER(숫자1, 숫자2) 숫자1을 숫자2 만큼 제곱한 값을 보여준다.
SQRT(숫자) 숫자를 제곱근한 값을 보여준다.

혹시 모르는 단어가 있나요? 

이번 기회에 배우면 학생 여러분들은 두고두고 쓰기 좋을 겁니다!!

 

함수 예제
ABS

ABS(-5)

ABS(10)

SIGN

SIGN(10)

SIGN(0)

 

SIGN(-10)

CEIL

CEIL(38.1235)

CEIL(-38.1235)

FLOOR

FLOOR(38.1235)

FLOOR(-38.1235)

ROUND

ROUND(38.1235, 3)

ROUND(38.1235, 1)

 

ROUND(38.1235, 0)

 

ROUND(38.1235)

 

TRUNC

TRUNC(38.1235, 3)

TRUNC(38.1235, 1)

 

TRUNC(38.1235, 0)

 

TRUNC(38.1235)

POWER

POWER(2,4)

POWER(3,2)

 

POWER(5,2)

 

SQRT

SQRT(2)

SQRT(3)

 

SQRT(18)

위의 예제들을 직접 실습해보고 결과를 확인해봅시다!!! 

중요한 팁!!!
어떻게 실습을 하나요????

바로 DUAL이라는 것을 사용합니다!! 

DUAL은 가상의 테이블 같은 것입니다. 딱히 테이블이 필요하지 않은 쿼리문같은 곳에서 사용하죠!!

위에 예제를 하나만 같이 풀어볼까요? 

-5의 절대값을 알고 싶을 때 사용하는 "ABS(-5)"를 SQL로 작성하려면 아래와 같이 작성합니다

SELECT ABS(-15) FROM DUAL;

그러면 결과가 나올거에요!!  나머지 실습들도 해봅시다!