ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Oracle] 함수(Function) - 날짜형 함수
    RDS/Oracle 2019. 3. 3. 09:52
    반응형

    날짜형 함수

     날짜형 함수는 DATE 타입의 값을 연산하는 함수입니다.


    날짜형 함수 종류

    SYSDATE - 현재 날짜와 시각을 출력합니다.

    EXTRACT('YEAR'|'MONTH'|'DAY' from d) - 날짜 데이터에서 년/월/일 데이터를 출력할 수 있습니다.

    TO_NUMBER(TO_CHAR(d,'YYYY')) / TO_NUMBER(TO_CHAR(d,'MM')) / TO_NUMBER(TO_CHAR(d,'DD')) - 날짜 데이터에서 년/월/일 데이터를 출력할 수 있습니다.

    MONTHS_BETWEEN - 날짜와 날짜 사이의 개월을 출력합니다.

    ADD_MONTHS - 날짜에 개월을 더한 날짜를 출력합니다.

    NEXT_DAY - 날짜 후의 첫 요일의 날짜를 출력합니다.

    LAST_DAY - 월의 마지막 날짜를 출력합니다.


    날짜형 함수 예시

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    SELECT SYSDATE
      FROM DUAL;
      
    SELECT ENAME
          , HIREDATE
          , EXTRACT(YEAR FROM HIREDATE) AS 입사년도
          , EXTRACT(MONTH FROM HIREDATE) AS 입사월
          , EXTRACT(DAY FROM HIREDATE) AS 입사일
      FROM EMP;
      
    SELECT ENAME
          , HIREDATE
          , TO_NUMBER(TO_CHAR(HIREDATE,'YYYY')) AS 입사년도
          , TO_NUMBER(TO_CHAR(HIREDATE,'MM')) AS 입사월
          , TO_NUMBER(TO_CHAR(HIREDATE,'DD')) AS 입사일
      FROM EMP;
      
    SELECT ENAME
          , HIREDATE
          , SYSDATE
          , HIREDATE
          , MONTHS_BETWEEN(SYSDATE, HIREDATE)
          , ADD_MONTHS(HIREDATE, 3)
          , LAST_DAY(HIREDATE)
          , NEXT_DAY(HIREDATE, '금')
      FROM EMP; 
    cs


    날짜 연산

     데이터베이스는 날짜를 저장할 때 내부적으로 세기(Century), 년(Year), 월(Month), 일(Day), 시(Hours), 분(Minutes), 초(Seconds)와 같은 숫자 형식으로 변화하여 저장됩니다. 날짜는 여라 가지 형식으로 출력이 되고 날짜 계산에도 사용되기 때문에 그 편리성을 위해서 숫자형으로 저장됩니다. 숫자로 저장되기 때문에 덧셈, 뺄셈 같은 산술 연산자로도 계산이 가능합니다. 날짜형 데이터에 숫자를 빼면(날짜 - 숫자) 날짜로부터 뺀 기간만큼 이전 날짜를 구하고, 날짜와 날짜(날짜 - 날짜)를 빼면 두 날짜 사이의 기간이 계산됩니다. 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT SYSDATE
          , SYSDATE - 1
          , SYSDATE + 1
      FROM DUAL; 
      
    SELECT ENAME
          , HIREDATE
          , SYSDATE - HIREDATE
      FROM EMP;
    cs


    반응형

    'RDS > Oracle' 카테고리의 다른 글

    [Oracle] GROUP BY, HAVING 절  (0) 2019.03.10
    [Oracle] 함수(Function) - 변환형 함수  (0) 2019.03.03
    [Oracle] 함수(Function) - 숫자형 함수  (0) 2019.03.02
    [Oracle] 함수(Function) - 문자형 함수  (0) 2019.03.02
    [Oracle] WHERE절  (0) 2019.02.24

    댓글

Designed by Tistory.