[SQL] 대소문자 변환 함수

·2025년 7월 2일

SQL

목록 보기
32/126

예제 답

select lower(ename)
 from emp;

함수(function)

값을 입력하면 어떤 처리를 해서 결과를 출력해주는 코드의 모음

SQL 작성시 함수가 필요한 이유

더 상세하게 데이터 검색을 해내기 위해서

📌 함수의 종류 2가지

  1. 단일 행 함수: 하나의 값을 입력해서 하나의 값으로 리턴
  • 문자함수: upper, lower, initcap, substr, instr, length, lpad, rpad, rtrim, ltrim, trim
  • 숫자함수: round, trunc, mod
  • 날짜함수: months_between, next_day, add_months, last_day
  • 변환함수: to_char, to_number, to_date
  • 일반함수: nvl, nvl2, decode, case
  1. 복수 행 함수: 여러 개의 값을 입력해서 하나의 값으로 리턴

직계함수
: max, min, avg, sum, count

  • max: 최댓값
  • min: 최솟값
  • avg: 평균값
  • sum: 토탈값
  • count: 건수 카운트

문제1. 사원이름을 대문자로 출력하고, 사원이름을 소문자로 출력하고, 사원이름의 첫번째 철자를 대문자로 출력하고 나머지는 소문자로 출력하시오

select upper(ename), lower(ename), initcap(ename)
 from emp;

문제2. 이름이 scott 인 사원의 이름과 월급을 출력하는데 scott 을 소문자로 검색해도 검색되게 하시오

select ename, sal
 from emp
 where lower(ename) = 'scott';

💡 사원이름을 전부 소문자로 변경하고 scott을 소문자로 비교

문제3. emp21 테이블에서 통신사가 kt 인 학생들의 이름과 통신사를 출력하시오. kt가 대문자로 저장되어있는지 소문자로 저장되어 있는지 모른다고 가정하고 SQL을 작성하시오

select ename, telecom
 from emp21
 where lower(telecom) = 'kt';

문제4. emp21 테이블에서 통신사가 lg 인 학생들의 이름과 나이와 통신사를 출력하는데 나이가 높은 학생부터 출력하시오

select ename, age, telecom
 from emp21
 where lower(telecom) like '%lg%'
 order by age desc;

0개의 댓글