📘꼬부기의 성장서재/이기적SQLD 기출문제

함수(Function)

서화 2026. 3. 28. 22:40

✔️ 함수란?

함수(Function)는 입력값을 받아 특정 연산을 수행한 뒤, 하나의 결과값을 반환하는 구조다.

돈을 넣고 버튼을 누르면 원하는 음료가 나오는 흐름과 비슷하다. 즉, 어떤 값을 넣느냐에 따라 결과가 달라진다는 점에서 함수의 개념을 이해할 수 있다.

SQL에서 함수는 데이터를 그대로 보여주는 것이 아니라, 원하는 형태로 가공해서 결과를 반환할 때 사용한다. 그래서 단순 조회보다 문자열 처리, 숫자 계산, 날짜 추출 같은 작업에 자주 쓰인다.

✔️ SQL 함수의 종류

SQL의 함수는 크게 두 가지로 나뉜다.

내장형 함수

DBMS 제조사에서 미리 만들어 제공하는 함수다.
함수명과 사용법만 알면 바로 사용할 수 있다. 시험에서도 주로 이 내장형 함수를 다룬다.

사용자 정의 함수

사용자가 직접 정의해서 사용하는 함수다.

✔️ 내장형 함수의 종류

문자형 함수

문자형 함수는 문자열 데이터를 처리할 때 사용하는 함수다.
주로 대소문자 변환, 문자열 연결, 일부 문자 추출, 길이 계산, 특정 문자 제거, 문자열 치환 같은 작업에 활용된다. 대표적인 문자형 함수로 UPPER, LOWER, CONCAT, SUBSTR, ASCII, CHR, LENGTH, LTRIM, RTRIM, TRIM, REPLACE가 있다.

1. UPPER / LOWER

UPPER는 영어 소문자를 대문자로 변환하고, LOWER는 영어 대문자를 소문자로 변환한다.
예를 들어 UPPER('hello123abc')는 HELLO123ABC가 되고, LOWER('SQLExam2024')는 sqlexam2024가 된다.

2. CONCAT

CONCAT은 문자열 두 개를 연결하는 함수다.
예를 들어 CONCAT('SQL', 'D')는 SQLD가 된다.
문자열을 여러 개 붙이고 싶을 때는 CONCAT을 중첩해서 사용할 수도 있다.

3. SUBSTR

SUBSTR은 문자열의 일부를 잘라낼 때 사용한다.
예를 들어 SUBSTR('19940216', 1, 4)는 1994를 반환하고, SUBSTR('19940216', 5, 2)는 02를 반환한다.
하나의 문자열에서 연도, 월, 일처럼 필요한 부분만 분리할 때 유용하다.

4. ASCII / CHR

ASCII는 문자를 아스키 코드 값으로 변환하고, CHR은 숫자를 문자로 변환한다.
예를 들어 ASCII('A')는 65, CHR(65)는 A가 된다.

5. LENGTH

LENGTH는 문자열 길이를 반환하는 함수다.
예를 들어 LENGTH('Hello SQL')의 결과는 9다. 공백도 길이에 포함된다는 점을 같이 기억해두면 좋다.

6. LTRIM / RTRIM / TRIM

LTRIM은 문자열 왼쪽의 공백이나 특정 문자를 제거하고, RTRIM은 오른쪽의 공백이나 특정 문자를 제거한다.
TRIM은 양쪽 공백이나 특정 문자를 제거할 때 사용한다.
데이터 앞뒤에 불필요한 공백이나 기호가 들어가 있을 때 정리하는 함수라고 보면 된다.

7. REPLACE

REPLACE는 문자열 안의 특정 문자를 다른 문자로 바꾸는 함수다.
예를 들어 REPLACE('안녕하세요', '안녕', '반가워')는 반가워하세요가 된다.
문자열 일부를 원하는 값으로 교체할 때 사용한다.

 숫자형 함수

숫자형 함수는 숫자 데이터를 처리할 때 사용하는 함수다.
계산, 절댓값, 나머지, 올림, 내림, 반올림, 버림, 제곱 같은 작업을 할 수 있다.  ABS, SIGN, MOD, CEIL, FLOOR, ROUND, TRUNC, POWER가 있다

1. ABS

ABS는 절댓값을 반환하는 함수다.
예를 들어 ABS(-10)과 ABS(10)은 모두 10을 반환한다.

2. SIGN

SIGN은 숫자의 부호를 판별하는 함수다.
양수면 1, 음수면 -1, 0이면 0을 반환한다.
즉 숫자가 어떤 성격인지 간단히 구분할 때 사용할 수 있다.

3. MOD

MOD는 첫 번째 숫자를 두 번째 숫자로 나눈 나머지를 반환한다.
예를 들어 MOD(10, 3)의 결과는 1이다.

4. CEIL / FLOOR

CEIL은 소수점 이하가 있으면 무조건 올림 처리하고, FLOOR는 소수점 이하를 버리고 내림 처리한다.
예를 들어 CEIL(3.1)은 4, FLOOR(3.9)는 3이다.

5. ROUND / TRUNC

ROUND는 지정한 자릿수까지 반올림하는 함수이고, TRUNC는 지정한 자릿수 아래를 버리는 함수다.
예를 들어 ROUND(123.456, 2)는 123.46, TRUNC(123.456, 2)는 123.45가 된다.
둘 다 비슷해 보여도 ROUND는 반올림, TRUNC는 버림이라는 차이가 있으므로 시험에서 자주 비교된다.

6. POWER

POWER는 제곱 계산을 하는 함수다.
예를 들어 POWER(2, 4)는 16이 된다.

날짜형 함수

날짜형 함수는 현재 날짜나 시간을 가져오거나, 날짜 데이터에서 필요한 정보만 추출할 때 사용하는 함수다.

1. SYSDATE

SYSDATE는 현재 시스템 날짜와 시간을 반환하는 함수다.
즉 지금 시점의 날짜와 시간을 확인할 때 사용하는 함수라고 보면 된다. SQL Server에서는 GETDATE()와 대응된다.

2. EXTRACT

EXTRACT는 날짜에서 연, 월, 일 같은 특정 정보만 추출하는 함수다.
예를 들어 연도만 뽑아내거나 월만 뽑아낼 때 사용할 수 있다.

'📘꼬부기의 성장서재 > 이기적SQLD 기출문제' 카테고리의 다른 글

GROUP BY, HAVING절  (0) 2026.03.30
WHERE절  (0) 2026.03.29
본질식별자 VS 인조식별자  (0) 2026.03.24
서브쿼리  (0) 2026.03.06
SELECT 문  (0) 2026.03.05