SQL 에서 사용하는 함수는 일반 프로그래밍 언어에서 사용하는 함수와 비슷합니다. 자주 사용되는 기능을 DBMS에 미리 생성해 두어 사용자들이 필요할 때, 호출해서 사용할 수 있습니다. 이런 함수를 built-in 함수라고 하며, ALTIBASE HDB는 약 100여 개 이상의 built-in 함수를 제공합니다.
함수는 입력 값에 대해서 작업을 수행하여 결과값을 반환합니다.
이러한 함수는 SELECT 문장의 SELECT, WHERE, ORDDER BY, START WITH 절에서 사용할 수 있으며, 함수 안에 또 다른 함수를 호출하는 구조로 중첩해서 사용할 수 있습니다.
함수는 입력 값의 개수에 따라 단일행 함수와 다중행 함수로 나눌 수 있습니다.
function_name (column|expression[,arg1, arg2,…])
employee 테이블의 사원이름을 소문자로 변경하시오.
iSQL> SELECT ename, LOWER(ename) FROM employee;
ENAME LOWER(ENAME)
-----------------------------------
EJJUNG ejjung
HJNO hjno
HSCHOI hschoi
employee 테이블에서 사원이름이 kskim 인 사람의 정보를 함수를 이용해서 조회하시오.
iSQL> SELECT ename, INITCAP(ename), SUBSTR(ename,2,3), REVERSE_STR(ename), INSTR(ename,'K')
FROM employee
WHERE LOWER(ename) = 'kskim';
ENAME INITCAP(ENAME) SUBSTR(ENAME,2,3) REVERSE_STR(ENAME) INSTR(ENAME,'K')
-----------------------------------------------------------------------------
KSKIM Kskim SKI MIKSK 1
123.673 숫자에 대해 여러 가지 숫자함수를 사용하시오
iSQL> SELECT ROUND(123.673,2), TRUNC(123.673,-1), CEIL(123.673), FLOOR(123.673), SQRT(123.673)
FROM dual;
ROUND(123.673,2) TRUNC(123.673,-1) CEIL(123.673) FLOOR(123.673) SQRT(123.673)
------------------------------------------------------------------------------
123.67 120 124 123 11.1208362994876
‘2011-05-01’ 은 입사일 후 며칠이 지났는지 검색해보시오
iSQL> SELECT ename, join_date, TO_DATE('2011-05-01','YYYY-MM-DD') - join_date
FROM employee;
ENAME JOIN_DATE TO_DATE('2011-05-01','YYYY-MM-DD') - JOIN_DATE
------------------------------------------------------------------------------
HJNO 18-NOV-1999 4182
HSCHOI 11-JAN-2000 4128
여러 개의 입력 값에 하나의 결과 값을 반환하는 함수를 다중행 함수라고 하며, 그룹함수라고도 합니다.
함수 | 설명 |
---|---|
MIN | 최소값 |
MAX | 최대값 |
SUM | 합계 |
AVG | 평균 |
STDDEV | 표준편차 |
VARIANCE | 분산 |
COUNT | 행의 수 |
employee 테이블에서 사원들의 최소 급여, 최대 급여, 평균 급여, 급여의 합, 사원 수를 검색하시오
iSQL> SELECT MIN(salary), MAX(salary), AVG(salary), SUM(salary), COUNT(*)
FROM employee;
MIN(SALARY) MAX(SALARY) AVG(SALARY) SUM(SALARY) COUNT
---------------------------------------------------------------------------
500000 4000000 1836647.06 31223000 20
- 강좌 URL : http://www.gurubee.net/lecture/2177
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.