관리 메뉴

IT 쟁이

날짜처리함수 본문

Oracle10g/SQL

날짜처리함수

클라인STR 2011. 10. 29. 17:51

날짜1 + 날짜2 = ? (가산을 할수 없다. ORA-00975)
날짜1 - 날짜 2=  숫자 (그 사이의 일수의 차이 )

SELECT BIRTH_DATE, BIRTH_DATE+1 , BIRTH_DATE -1 FROM TEMP
WHERE EMP_NAME = '홍길동'

날짜 + 숫자 = 날짜
날짜 - 숫자 = 날짜 가 나온다.
날짜에 숫자를 더하는것은 일자를 더하는 의미이다.

시,분,초 더하기


SELECT TO_CHAR(BIRTH_DATE, 'HH24:MI:SS') AS BIRTH_TIME,
       TO_CHAR(BIRTH_DATE+14/24, 'HH24:MI:SS') AS TIME,
       TO_CHAR(BIRTH_DATE+30/(24*60), 'HH24:MI:SS') AS MIN,
       TO_CHAR(BIRTH_DATE+50/(24*60*60),'HH24:MI:SS') AS SEC
 FROM TEMP
 WHERE EMP_NAME = '홍길동';



ADD_MONTHS  : 주어진 일자에 개월 단위의 가감을 원할 때 사용한다.
ADD_MONTHS(컬럼, 숫자) : 가감할 숫자를 입력한다.


 SELECT BIRTH_DATE,
        ADD_MONTHS(BIRTH_DATE, 1), --한달더하기
        ADD_MONTHS(BIRTH_DATE, -13) -- 13개월 빼기
 FROM TEMP
 WHERE EMP_NAME = '홍길동' ;




MONTHS_BETWEEN :  두개의 일자 간격이 몇 개월인지를 보여준다.


SELECT MONTHS_BETWEEN (SYSDATE, BIRTH_DATE) AS MON_TERM
FROM TEMP
WHERE EMP_NAME ='홍길동'



LAST_DAY : 주어진 일자가 포함된 월의 말일의 날짜를 돌려준다.

SELECT BIRTH_DATE, LAST_DAY(BIRTH_DATE)
FROM TEMP

Comments