SQL/ORACLE SQL

ORACLE : 날짜 함수, 형 변환 함수

HicKee 2022. 11. 2. 13:56

날짜 함수

SYSDATE                   시스템 저장 현재 날짜를 반환
MOTHS_BETWEEN   두 날짜 사이의 개월수
ADD_MONTHS           특정 날짜의 개월수 더함
NEXT_DAT                  특정날짜에서 최초로 도래하는 인자로 받은 요일의 날짜를 반환
LAST_DAY                  해당달의 마지막 날짜
ROUND                       인자로 받은 날짜를 특정 기준으로 반올림
TRUNC                        인자로 받은 날짜를 특정 기준으로 잘라냄

 

현재 날짜

select sysdate
from DUAL;

 

날짜 연산(날짜 + 숫자),(날짜 - 숫자)
         그 날짜로부터 숫자만큼 지난 날짜를 계산

select sysdate -1 어제,
       sysdate 오늘,
       sysdate+1 내일
from DUAL;

 

employee 테이블 사원의 근무일수 계산

select ename 사원명, round(sysdate-hiredate) 근무일수
from employee;

 

trunc 잘라낸다는 의미가 약간 다름 그 달의 첫째 일로 만듬
         초기화 비슷하게 만듬 trunc(hiredate,'year') 80/12/17->80/01/01

select hiredate,
        trunc(hiredate,'year')
from employee;
select hiredate,
        trunc(hiredate,'month')
from employee;

 

months_between 날짜와 날짜 사이의 개월 수 계산

select ename,sysdate,hiredate,
       months_between(sysdate,hiredate)--소수로 표시됨
from employee;
select ename,sysdate,hiredate,
       trunc(months_between(sysdate,hiredate))
from employee;

 

add_months 개월 수를 더함 

select ename,hiredate,
       add_months(hiredate,6)
from employee;

 

최초로 오는 요일에 해당하는 날짜

select sysdate "현재 날짜",
       next_day(sysdate,'토요일') "이번 토요일의 날짜"
from dual;

형변환 함수

to_char           날짜 혹은 숫자형을 문자형으로
to_date            문자형을 날짜형으로
to_number      문자형을 숫자형으로

 

select ename 사원명, hiredate 입사일,
       to_char(hiredate,'YY-MM'),
       to_char(hiredate,'YYYY/MM/DD DAY')
from employee;

한글을 사용하여 출력하는 방법
               'YY-MM'   >>   'YY"년"MM"월"'

select ename 사원명, hiredate 입사일,
       to_char(hiredate,'YY"년" MM"월"'),
       to_char(hiredate,'YYYY"년" MM"월" DD"일" DAY')
from employee;

 

NVL

      NULL을 0이나 다른 값으로 변환
      NVL(a,b) a 를 b로 바꿔서 출력(테이블 데이터에는 변함이 없음)

select ename,salary,commission,
    nvl(commission,0),
    salary*12+ nvl(commission,0)
from employee
order by job;

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

JOIN : 조인  (0) 2022.11.03
DECODE 와 CASE : 조건에 따른 값  (0) 2022.11.02
ORACLE : 문자 처리 함수, 숫자 함수  (0) 2022.11.02
정렬 : ORDER BY  (0) 2022.11.01
SELECT : 검색 LIKE 그리고 IS NULL  (0) 2022.11.01