본문 바로가기
카테고리 없음

SQLD 자격증 대비: 문자형, 숫자형, 날짜 함수 학습하기

by moment-love 2025. 1. 26.

 

SQLD 자격증 대비: 문자형, 숫자형, 날짜 함수 학습하기

 

SQL(Structured Query Language)에서 함수(Function)는 데이터를 가공하거나 변환하는 데 사용됩니다.

 


SQLD 자격증에서는 문자형 함수, 숫자형 함수, 날짜 함수와 같은
데이터 처리 함수가 자주 출제되므로 이를 이해하고 활용하는 것이 중요합니다.

이번 글에서는 오라클(Oracle), MySQL, SQL Server에서 사용하는 함수와 쿼리 작성법을 예제로 설명하겠습니다.

 


1. 문자형 함수 (String Functions)

 

문자형 함수는 문자열 데이터를 조작하거나 변환하는 데 사용됩니다.

 

 

자주 쓰이는 문자형 함수로는 UPPER, LOWER, CONCAT, LENGTH(LEN), SUBSTR(SUBSTRING) 등이 있습니다.

 


1-1. 대소문자 변환 함수: UPPER, LOWER

  • UPPER: 문자열을 대문자로 변환.
  • LOWER: 문자열을 소문자로 변환.

Oracle
SELECT UPPER('sql study') AS UpperCase, LOWER('SQL STUDY') AS LowerCase FROM DUAL;
 
 
MySQL
SELECT UPPER('sql study') AS UpperCase, LOWER('SQL STUDY') AS LowerCase;

 

 

SQL Server
SELECT UPPER('sql study') AS UpperCase, LOWER('SQL STUDY') AS LowerCase;

 

 

출력 결과
UpperCase LowerCase
SQL STUDY sql study

 

 


 

1-2. 문자열 결합 함수: CONCAT

  • CONCAT: 두 개 이상의 문자열을 하나로 결합.

 

Oracle
SELECT CONCAT('Hello', ' ', 'World') AS Concatenated FROM DUAL;

 

MySQL
SELECT CONCAT('Hello', ' ', 'World') AS Concatenated;

 

SQL Server
SELECT 'Hello' + ' ' + 'World' AS Concatenated;

 

출력 결과

 

 

Concatenated
Hello World

 

 


 

1-3. 문자열 길이 함수: LENGTH, LEN

  • LENGTH(Oracle, MySQL): 문자열의 길이를 반환.
  • LEN(SQL Server): 문자열의 길이를 반환.

 

 

Oracle

SELECT LENGTH('SQL Study') AS StringLength FROM DUAL;

 

MySQL

SELECT LENGTH('SQL Study') AS StringLength;

 

 

SQL Server

SELECT LEN('SQL Study') AS StringLength;

 

 

출력 결과

 

StringLength
9

 


1-4. 문자열 추출 함수: SUBSTR, SUBSTRING

  • SUBSTR(Oracle, MySQL) / SUBSTRING(SQL Server): 문자열의 특정 부분을 추출.

Oracle

SELECT SUBSTR('SQL Study', 5, 5) AS SubString FROM DUAL;
 
 

MySQL

SELECT SUBSTR('SQL Study', 5, 5) AS SubString;

 

SQL Server

SELECT SUBSTRING('SQL Study', 5, 5) AS SubString;

 

 

출력 결과

 

SubString
Study

 

 


2. 숫자형 함수 (Numeric Functions)

 

숫자형 함수는 숫자 데이터를 변환하거나 계산할 때 사용됩니다.

 

자주 사용하는 함수로는 ROUND, TRUNC, MOD, CEIL, FLOOR 등이 있습니다.

 

 

2-1. 숫자 반올림 함수: ROUND

  • ROUND: 지정한 자릿수까지 숫자를 반올림.

Oracle

SELECT ROUND(123.456, 2) AS RoundedValue FROM DUAL;
 
 

MySQL

SELECT ROUND(123.456, 2) AS RoundedValue;
 
 

SQL Server

SELECT ROUND(123.456, 2) AS RoundedValue;

 

 

출력 결과

RoundedValue
123.46

 

 


 

 

2-2. 숫자 버림 함수: TRUNC

  • TRUNC: 지정한 자릿수 이하를 버림.
    (※ SQL Server는 ROUND 함수에서 function 매개변수로 대체 가능)

Oracle

SELECT TRUNC(123.456, 2) AS TruncatedValue FROM DUAL;
 
 

MySQL

SELECT TRUNCATE(123.456, 2) AS TruncatedValue;
 
 

SQL Server

SELECT ROUND(123.456, 2, 1) AS TruncatedValue; -- 1은 버림을 의미

 

출력 결과

 

TruncatedValue
123.45

 

 


 

2-3. 나머지 계산 함수: MOD

  • MOD: 두 숫자를 나누고 나머지를 반환.

Oracle

SELECT MOD(10, 3) AS Remainder FROM DUAL;
 
 

MySQL

SELECT 10 % 3 AS Remainder;
 
 

SQL Server

SELECT 10 % 3 AS Remainder;

 

 

출력 결과

 

Remainder
1

 

 

 


3. 날짜 함수 (Date Functions)

 

날짜 함수는 날짜 데이터를 처리하거나 변환하는 데 사용됩니다.

 

주요 함수로는 SYSDATE, NOW, GETDATE, ADD_MONTHS, DATE_ADD, DATEDIFF 등이 있습니다.

 

 


 

3-1. 현재 날짜와 시간 가져오기

  • SYSDATE(Oracle), NOW(MySQL), GETDATE(SQL Server): 현재 날짜와 시간을 반환.

 

Oracle

SELECT SYSDATE AS CurrentDate FROM DUAL;
 
 

MySQL

SELECT NOW() AS CurrentDate;
 
 

SQL Server

SELECT GETDATE() AS CurrentDate;

 

 

출력 결과

 

CurrentDate
2025-01-24 14:30:00

 

 


 

 

3-2. 날짜에 특정 기간 추가

  • ADD_MONTHS(Oracle), DATE_ADD(MySQL), DATEADD(SQL Server): 날짜에 특정 기간을 더합니다.

 

 

Oracle

SELECT ADD_MONTHS(SYSDATE, 3) AS NewDate FROM DUAL;
 
 

MySQL

SELECT DATE_ADD(NOW(), INTERVAL 3 MONTH) AS NewDate;
 
 

 

SQL Server

SELECT DATEADD(MONTH, 3, GETDATE()) AS NewDate;

 

 

 

출력 결과

 

NewDate
2025-04-24 14:30:00

 

 


 

3-3. 두 날짜 간의 차이 계산

  • DATEDIFF: 두 날짜 간의 차이를 계산.

 

Oracle

SELECT TRUNC(SYSDATE) - TO_DATE('2025-01-01', 'YYYY-MM-DD') AS DaysDifference FROM DUAL;
 
 

MySQL

SELECT DATEDIFF(NOW(), '2025-01-01') AS DaysDifference;
 
 

SQL Server

SELECT DATEDIFF(DAY, '2025-01-01', GETDATE()) AS DaysDifference;

 

출력 결과

 

DaysDifference
23

 

 


5. 결론

 

문자형, 숫자형, 날짜 함수는 데이터 처리에서 필수적인 도구이며, SQLD 자격증에서도 중요한 부분을 차지합니다.

 

 

오라클, MySQL, SQL Server는 함수 사용법에서 약간의 차이가 있으므로

각 DBMS에 맞는 문법을 익히는 것이 중요합니다.

 

이번 글에서 소개한 함수들을 연습하며,

함수 사용 능력을 키워 SQLD 시험 대비는 물론 실무에서도 활용할 수 있길 바랍니다. 

반응형