SQL 함수
- 데이터에 대해 계산 수행
- 개별 데이터 항목 수정
- 행 그룹에 대한 출력 조작
- 표시할 날짜 및 숫자의 형식 지정
- 열 데이터 유형 변환
SQL 함수의 두 가지 유형
💡 단일 행 함수
다중 행 함수
단일 행 함수
- 데이터 항목 조작
- 인수 사용, 하나의 값 반환
- 반환되는 각 행에서 실행
- 행 당 하나의 결과 반환
- 데이터 유형 수정
- 중첩 가능
- 열이나 표현식을 인수로 사용 가능
단일 행 함수
- 문자
- 숫자
- 날짜
- 변환
- 일반
문자 함수
함수 | 용도 |
LOWER | 영문자 값을 소문자로 변환 |
UPPER | 영문자 값을 대문자로 변환 |
INITCAP | 영문자 값의 첫 번째 문자를 대문자로 변환하고 나머지 문자는 소문자로 둠 |
CONCAT | 첫 번째 문자 값을 두 번째 문자 값과 연결 연결연산자 ( || ) 와 같은 기능 |
SUBSTR | m 위치에서 시작하는 문자 값에서 n개의 문자 길이만큼 지정된 문자 반환 |
LENGTH | 표현식의 문자 수 반환 |
INSTR | 지정된 문자열의 숫자 위치 반환 |
LPAD / RPAD | 길이가 n이 되도록 왼쪽 / 오른쪽부터 문자식을 채운 표현식 반환 |
TRIM | 문자열에서 선행 또는 후행 문자를 자름 |
REPLACE | 텍스트 표현식에서 문자열을 검색하여 해당 문자열을 찾으면 지정된 대체 문자열로 변경 |
대소문자 변환 함수
💡 문자열의 대소문자를 변환하는 함수
함수 | 결과 |
LOWER | SQL COURSE |
UPPER | SQL COURSE |
TNITCAP | SQL COURSE |
문자 조작 함수
💡 문자열을 조작하는 함수
함수 | 결과 |
CONCAT (’Hello’, ‘World’) | HelloWorld |
SUBSTR (’HelloWorld’, 1, 5) | Hello |
LENGTH (’HelloWorld’) | 10 |
INSTR (’HelloWorld’, ‘W’) | 6 |
LPAD (salary, 10, ‘*’) | ******24000 |
RPAD (salary, 10, ‘*’) | 24000****** |
REPLACE (’JACK and JUE’, ‘J’, ‘BL’) | BLACK and BLUE |
TRIM (’H’ FROM ‘HelloWorld’) | elloWorld |
숫자 함수
- ROUND : 지정된 소수점 자릿수로 값 반올림
- TRUNC : 지정된 소수점 자릿수로 값 truncate
- MOD : 나눈 나머지 반환
함수 | 결과 |
ROUND (45.926, 2) | 45.93 |
TRUNC (45.926, 2) | 45.92 |
MOD (1600, 300) | 100 |
더보기
ROUND 함수 사용
더보기
TRUNC 함수 사용
더보기
MOD 함수 사용
날짜 작업
💡 오라클 데이터베이스는 내부 숫자 형식(세기, 년, 월, 일, 시, 분, 초)로 날짜 저장 기본 날짜 표시 형식은 DD-MON-RR
- 연도의 마지막 두 자릿수만 지정하면 21세기 날짜를 20세기에 저장 가능
- 같은 방식으로 20세기 날짜를 21세기에 저장 가능
SYSDATE 함수
💡 날짜 시간
날짜 연산
작업 | 결과 | 설명 |
날짜 + 숫자 | 날짜 | 날짜에 일 수를 더함 |
날짜 - 숫자 | 날짜 | 날짜에서 일 수를 뺌 |
날짜 - 날짜 | 일 수 | 한 날짜를 다른 날짜에서 뺌 |
날짜 + 숫자 / 24 | 날짜 | 날짜에 시간 수를 더 |
날짜 조작 함수
함수 | 결과 |
MONTHS_BETWEEN | 두 날짜 간의 월 수 |
ADD_MONTHS | 날짜에 월 추가 |
NEXT_DAY | 지정된 날짜의 다음 날 |
LAST_DAY | 월의 마지막 날 |
ROUND | 날짜 반올림 |
TRUNC | 날짜 truncate |