티스토리 뷰

728x90

함수란?

오라클에서 제공하는 다양한 기능을 수행하는 객체

오라클이 기본적으로 제공하는 내장함수와 사용자가 직접 정의한 사용자 정의함수로 나뉜다

 

문자형 함수

SELECT 단에서 사용

 

INITCAP(char) 

입력문자열 중에서 각 단어의 첫글자를 대문자로 나머지는 소문자로 변환

 

UPPER(char)

대문자로 변환

 

LOWER(char)

소문자로 변환

SELECT ENAME, INITCAP(ENAME), UPPER(ENAME), LOWER(ENAME)
FROM EMP;

결과

 

 

LENGTH(char)

문자열의 길이 구하기 (1부터 센다)

WHERE문과 함께 쓸 수 있다..

 

**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;

문자열 INDEX(1부터시작*) 3부터 2글자 / 5부터 끝까지 

 

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;

글자 숫자를 포함해서 N을 써줘야한다 

 

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

 

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

스프링 프로젝트의 생성 및 스프링의 파일구조  (0) 2021.10.06
CSS박스모델  (0) 2021.08.30
[SQL요점정리#8] SET연산자  (0) 2021.08.19
[SQL요점정리#7] WHERE 조건과 연산자  (0) 2021.08.19
[SQL실습예제#1]  (0) 2021.08.19
댓글