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 = '홍길동'
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(컬럼, 숫자) : 가감할 숫자를 입력한다.
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 ='홍길동'
FROM TEMP
WHERE EMP_NAME ='홍길동'
LAST_DAY : 주어진 일자가 포함된 월의 말일의 날짜를 돌려준다.
SELECT BIRTH_DATE, LAST_DAY(BIRTH_DATE)
FROM TEMP
FROM TEMP