함수의 종류에는 단일행 함수와 복수행 함수가 있다.

 

문자함수

  • 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,-1from 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,3from dual;

  • power 함수 : 지수함수를 구현한다.
select power(2,3from 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

+ Recent posts