[SQL요점정리#9]오라클 주요함수(INITCAP, UPPER, LOWER)
함수란?
오라클에서 제공하는 다양한 기능을 수행하는 객체
오라클이 기본적으로 제공하는 내장함수와 사용자가 직접 정의한 사용자 정의함수로 나뉜다
문자형 함수
SELECT 단에서 사용
INITCAP(char)
입력문자열 중에서 각 단어의 첫글자를 대문자로 나머지는 소문자로 변환
UPPER(char)
대문자로 변환
LOWER(char)
소문자로 변환
SELECT ENAME, INITCAP(ENAME), UPPER(ENAME), LOWER(ENAME)
FROM EMP;
LENGTH(char)
문자열의 길이 구하기 (1부터 센다)
**CONCAT, ||
문자 합치기
REPLACE(char, A, B)
A를 B로 대체해서 반환
SELECT REPLACE(‘010-1234-5678’, ‘-’, ’’) AS REPLACE FROM DUAL;
SUBSTR(char, 시작위치, 추출길이)
문자열 일부를 반환 (INDEX 가 1부터 시작한다**)
SELECT JOB, SUBSTR(JOB, 3, 2), SUBSTR(JOB, 5) FROM EMP;
INSTR(문자열, 위치를 찾고싶은 부분문자, 찾기 시작할 위치(기본값 1), 범위)
특정 문자 INDEX 찾기
SELECT
INSTR(‘HELLO, ORACLE!’, ‘L’) AS INSTR1,
INSTR(‘HELLO, ORACLE!’, ‘L’, 5) AS INSTR2
FROM DUAL;
INSTR1 제일 첫번 째 'L'위치
INSTR2 INDEX 5부터 시작해 첫번째 'L' 위치
LPAD(expr1, n, expr2) : expr1 의 글자 크기를 n으로 설정, 왼쪽으로 늘림 expr2 반환
RPAD(expr1, n, expr2) : expr1 의 글자 크기를 n으로 설정, 오른쪽으로 늘림 expr2 반환
SELECT
LPAD(‘Oracle’, 10, ‘#’) AS LPAD1,
RPAD(‘Oracle’, 10, ‘*’) AS RPAD2
FROM DUAL;
TRIM(삭제옵션 삭제할 문자 FROM 원본문자열 데이터 ): 원본 문자열에서 삭제할 문자 제거
LTRIM(char, set) : char에서 set을 왼쪽에서 제거
RTILM(char, set) : char에서 set을 오른쪽에서 제거
TRIM에 삭제할 문자를 안넣으면 공란을 없애준다.
숫자형함수
ROUND(n, i) : n을 소수점 이하 i만큼 남김, i+1에서 반올림
SELECT ROUND(1234.5678, 1) AS ROUND
FROM DUAL;
TRUNC(n1, n2) : n1을 n2번째에서 잘라냄, 반올림 X
SELECT TRUNC(1234.5678, 1) AS ROUND
FROM DUAL;
CEIL(n) : n(실수) +1 -> 정수반환
FLOOR(n) : 정수로 반환
바닥이니까 실수없애
SELECT CEIL(3.14) AS CEIL, FLOOR(3.14) AS FLOOR
FROM DUAL;
날짜형 함수
SYSDATE : 현재 날짜, 시간
+, - 등 계산이 가능하다.
ADD_MONTHS(date, integer)
integer 개월 수 이후 날짜 데이터 반환
MONTHS_BETWEEN
NEXT_DAY