함수의 종류에는 단일행 함수와 복수행 함수가 있다.
문자함수
- upper 함수 : 대문자로 변환
select upper(ename)
from emp;
|

- lower 함수 : 소문자로 변환
select lower(ename)
from emp;
|

- initcap 함수 : 첫번째 철자를 대문자로 출력하고 나머지를 소문자로 출력
select ename, initcap(ename)
from emp;
|
- substr 함수 : 특정 철자만 잘라낸다.
select ename, substr(ename, 1,3)
from emp;
|
- 첫째자리부터 철자 3개 출력. 괄호 안의 숫자가 2, 2이면 둘째자리부터 2개 출력을 의미한다.
- instr 함수 : 특정 철자의 위치번호를 알려준다.
select hiredate, instr(hiredate, '/')
from emp;
|
- 위치번호를 셀 때, 0이 아니라 1부터 시작한다.
- length 함수 : 철자의 갯수를 센다.
select job, length(job)
from emp;
|
- trim 함수 : 특정 철자를 잘라낸다. 하나의 철자를 잘라낼 때는 trim 을 사용한다. 여러 개의 철자를 잘라낼 때는 rtrim 과 ltrim 을 사용하는데 rtrim 은 오른쪽에 있는 철자를 잘라내고, ltrim 은 왼쪽에 있는 철자를 잘라낸다.
select ename, trim('S' from ename)
from emp;
|
- replace 함수 : 특정 철자를 다른 철자로 대체한다.
select sal, replace(sal,0,'*')
from emp;
|
- regexp_replace 함수 : regular expression replace 함수는 정규표현식 함수라고 한다. 보통 replace 함수로는 볼 수 없는 결과를 보고자 할 때 사용한다.
- concat 함수 : 두 컬럼을 연결한다.
select concat(ename, sal)
from emp;
|
- lpad 와 rpad 함수 : 막대그래프처럼 데이터를 시각화 할 수 있다. pad 는 채워넣는다는 뜻으로, l 이 붙으면 왼쪽으로 채우고, r 이 붙으면 오른쪽부터 채운다.
select ename, lpad(sal, 10, '*') salary
from emp;
|
- 10자리를 잡고 sal 을 채운 뒤, 남을 자리를 왼쪽으로 *로 채우라는 뜻이다.
숫자함수
- round 함수 : 숫자를 반올림하는 함수
select '787.567', round(787.567,-1) from dual;
|
7(-3) / 8(-2) / 7(-1) / .(0) / 5(1) / 6(2) / 7(3) 으로 표시한다.
- trucn 함수 : 반올림하지 않고 값을 버린다.
select trunc(787.567)
from dual;
|
- mod 함수 : 나눈 나머지 값을 출력한다.
select mod(10,3) from dual;
|
- power 함수 : 지수함수를 구현한다.
select power(2,3) from dual;
|
- log 함수 : 로그 값을 출력한다.
날짜함수
- 오라클에서 오늘 날짜를 확인하는 방법
select sysdate from dual;
|
- 날짜의 연산
- 날짜 - 숫자 = 날짜
select sysdate, sysdate+1, sysdate-1 from dual;
|
- 날짜 + 숫자 = 날짜
- 날짜 - 날짜 = 숫자
select to_date('20/02/05', 'RR/MM/DD') - to_date('20/02/01', 'RR/MM/DD') "날짜-날짜"
from dual;
|
- months_between 함수 : 날짜와 날짜 사이의 개월 수를 출력
- add_months 함수 : 특정 날짜에 개월 수를 더한 날짜를 출력
- next_day 함수 : 특정 날짜에서 앞으로 돌아올 날짜를 출력
- last_day 함수 : 특정 날짜 달의 마지막 날짜를 출력한다.
- RR 날짜 형식과 YY 날짜 형식 : 연도에 따른 날짜 형식(RRRR, YYYY, RR, YY)
RR 과 YY의 차이는 RR 은 현재에서 가장 가까운 연도를 출력하고, YY 는 현재 세기의 연도를 출력한다. - 현재 접속되어 있는 세션의 날짜 형식을 확인하는 방법
select *
from nls_session_parameters;
|
- 접속된 세션의 날짜형식을 YY/MM/DD 로 변경
alter session set nls_date_format='YY/MM/DD';
|
다시 현재 접속되어 있는 세션의 날짜 형식을 확인하면 날짜형식이 변경된 것을 볼 수 있다.
'Database > SQL' 카테고리의 다른 글
6. join (0) | 2020.03.17 |
---|---|
5. 그룹함수 (1) | 2020.02.17 |
4. 변환함수 및 조건부 표현식 이용 (0) | 2020.02.11 |
2. 데이터 제한 및 정렬 (0) | 2020.02.01 |
1. 데이터 검색 (0) | 2020.01.17 |