2016. 12. 29. 22:28

오늘은 지난번에 포스팅에 이어 오라클 함수에

대해서 정리해보겠습니다.

 

1. 숫자함수

  - CEIL(숫자) => 숫자에 대한 올림값을 리턴합니다.

    > SELECT CEIL(123.4) FROM DUAL;

     

  - ROUND(숫자,소수점자리수) => 숫자에 대한 반올림 값을 리턴합니다.

    > SELECT ROUND(123.45,1) FROM DUAL;

     


  - TRUNC(숫자,소수점자리수) => 소수점자리수 이하 버림값을 리턴합니다.

    > SELECT TRUNC(123.45,1) FROM DUAL;

    > SELECT TRUNC(SYSDATE) FROM DUAL; >>날짜에 TRUNC함수를 활용하면 시/분/초 값을 버림니다.

      

 

  - MOD(숫자,나누는값) => 숫자의값을 나누는값으로 나눈 나머지 값을 리턴합니다.

    > SELECT Mod(10,2) FROM DUAL;

      

 

2. 날짜함수

  - SYSDATE => 시스템 시간 값을 리턴 합니다.

    > SELECT SYSDATE FROM DUAL;

     


  - MONTHS_BETWEEN(종료날짜,시작날짜) => 시작날짜와 종료날짜 사이의 총 개월수를 리턴합니다.

   > SELECT MONTHS_BETWEEN(SYSDATE+31,SYSDATE) FROM DUAL;

     


  - LAST_DAY(날짜) => 해당월에 마지막일자를 리턴합니다.

    > SELECT LAST_DATE(SYSDATE) FROM DUAL;

    > 마지막일자를 리턴하되 시/분/초는 현재시간이 리턴됩니다.

    


  - NEXT_DAY(날짜,요일) => 날짜 다음에 나오는 요일의 일자를 리턴합니다.

    > SELECT NEXT_DAY(SYSDATE,'월') FROM DUAL;

    > 다음날짜를 리턴하되 시/분/초는 현재시간이 리턴됩니다.

    


  - ADD_MONTHS(날짜,숫자) => 날짜에 숫자값만큼 달을 더한값이 리턴됩니다.

    > SELECT ADD_MONTHS(SYSDATE,2) FROM DUAL;

    > 숫자값만큼 더한 달이 리턴하되 시/분/초는 현재시간이 리턴됩니다.

      


숫자함수와 날짜 함수를 알아보았습니다.

해당 함수들은 많이 사용되면, 응용해서 사용 할 수도 있습니다.


날짜에서 1이라는 값은 하루를 뜻하며,

하루는 24시간이므로 1을 24로 나누면 1시간의 값이 됩니다. (1 / 24 = .0416666666666666666666666666666666666667)

1시간은 60분이므로 1시간구한 값에 60을 나누면 1분이 됩니다.((1 / 24) / 60 = .000694444444444444444444444444444444444445)

1분은 60초이므로 1분구한 값에 60을 나누면 1초가 됩니다. (((1 / 24) / 60) /60 = .00001157407407407407407407407407407407407408)



함수를 좀더 다양하게 응용해서 사용하는법에 대해서는 다음에 정리하도록 하겠습니다.

 

 

 

Posted by dlfma1985