코딩테스트에서 자주 등장하는 확장 함수

2025. 4. 25. 16:00·Language/SQL

🎯 숫자 관련 함수

ROUND(x, d) 숫자를 d 자리까지 반올림 (default 0) ROUND(3.1415, 2) 3.14
CEIL(x) x보다 크거나 같은 최소 정수 CEIL(3.2) 4
FLOOR(x) x보다 작거나 같은 최대 정수 FLOOR(3.9) 3
TRUNCATE(x, d) 소수점 d 자리까지만 표시 TRUNCATE(3.1415, 2) 3.14

🔤 문자열 관련 함수

SUBSTRING(str, start, len) 문자열 일부 추출 SUBSTRING('Hello', 1, 2) 'He'
LEFT(str, n) 왼쪽부터 n글자 추출 LEFT('Hello', 3) 'Hel'
RIGHT(str, n) 오른쪽부터 n글자 추출 RIGHT('Hello', 2) 'lo'
CONCAT(str1, str2, ...) 문자열 연결 CONCAT('A', 'B') 'AB'
REPLACE(str, from, to) 문자열 치환 REPLACE('banana', 'na', 'oo') 'baooo'
INSTR(str, substr) 부분 문자열 위치 반환 INSTR('hello', 'e') 2
SUBSTRING_INDEX(str, delim, count) 구분자 기준으로 자름 SUBSTRING_INDEX('서울 강남구 역삼동', ' ', 2) '서울 강남구'

📅 날짜 관련 함수

NOW() 현재 날짜와 시간 반환 NOW() 2025-04-25 14:32:00
CURDATE() 현재 날짜 반환 CURDATE() 2025-04-25
DATE_FORMAT(date, format) 날짜 포맷 지정 DATE_FORMAT(NOW(), '%Y-%m-%d') 2025-04-25
DATEDIFF(date1, date2) 날짜 차이 (일 단위) DATEDIFF('2025-05-01', '2025-04-25') 6
YEAR(date) / MONTH(date) / DAY(date) 연도 / 월 / 일 추출 YEAR('2025-04-25') 2025

⚙️ 조건 & NULL 처리 함수

IF(expr, true_val, false_val) 조건문 처리 IF(score > 60, 'Pass', 'Fail') 'Pass'
IFNULL(expr, value) NULL이면 대체 값 반환 IFNULL(NULL, 0) 0
COALESCE(val1, val2, ...) 가장 먼저 NULL이 아닌 값 반환 COALESCE(NULL, NULL, 'A') 'A'
CASE 복수 조건 처리 CASE WHEN x > 0 THEN '양수' ELSE '음수' END '양수'

🏆 윈도우 함수 (Window Functions)

ROW_NUMBER() 파티션 내 순위 (중복 순위 없음) ROW_NUMBER() OVER (PARTITION BY dept ORDER BY salary DESC) 1, 2, 3, ...
RANK() 동일 순위 허용, 다음 순위 건너뜀 RANK() OVER (ORDER BY score DESC) 1, 1, 3, ...
DENSE_RANK() 동일 순위 허용, 다음 순위 안 건너뜀 DENSE_RANK() OVER (ORDER BY score DESC) 1, 1, 2, ...
NTILE(n) n등분한 그룹 번호 부여 NTILE(4) OVER (ORDER BY salary) 1~4 그룹
LAG(expr, n) 이전 n행의 값 참조 LAG(score, 1) OVER (ORDER BY date) 이전 점수
LEAD(expr, n) 다음 n행의 값 참조 LEAD(score, 1) OVER (ORDER BY date) 다음 점수

 

더보기

🚀 활용 팁

  • 📌 SUBSTRING_INDEX 는 주소 데이터에서 읍/면/동 단위로 자를 때 정말 자주 나와요!
  • 📌 DATE_FORMAT은 날짜를 출력 포맷으로 맞춰야 하는 문제에서 필수!
  • 📌 ROUND, TRUNCATE는 평균 계산, 점수 조정에서 자주 등장합니다.
  • 📌 문자열 전처리 문제에서는 LEFT / RIGHT / REPLACE는 거의 고정 단골이에요.
저작자표시 비영리 변경금지 (새창열림)

'Language > SQL' 카테고리의 다른 글

GraphQL 살펴보기  (0) 2025.03.18
'Language/SQL' 카테고리의 다른 글
  • GraphQL 살펴보기
안녕 하리
안녕 하리
  • 안녕 하리
    보초 개발자
    안녕 하리
  • 전체
    오늘
    어제
    • 분류 전체보기 (13)
      • 트러블슈팅 (4)
      • Honey Tip! (5)
      • Language (3)
        • Java (0)
        • Kotlin (1)
        • SQL (2)
      • Cloud (0)
      • ETC (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
안녕 하리
코딩테스트에서 자주 등장하는 확장 함수
상단으로

티스토리툴바