티스토리 뷰

날짜 함수

이름 의미
SYSDATE 현재 날짜와 시간
MONTHS_BETWEEN(날짜1, 날짜 2) 날짜1과 날짜2 사이의 개월 수
ADD_MONTHS(날짜, 더하려는 개월 수) 날짜에 개월 수를 더함
NEXT_DAY 주어진 날짜의 다음 날짜
LAST_DAY 주어진 날짜가 속한 달의 마지막 날짜

 

날짜 표현 형식

형식 설명
YYYY / YY / YEAR 년도
MONTH / MON / MM / RM 달 ( FMMM : 0 or 공백제거 / RM : 로마표기법 )
DDD / DD / D 일 ( DDD : 1년 기준 )
Q 분기 ( 1, 2, 3, 4 )
DAY / DY 요일
HH / HH24 12시간 / 24시간
AM / PM 오전 / 오후
MI 분 ( 0~59 )
SS 초 ( 0~59 )

 

SYSDATE

SELECT TO_CHAR(SYSDATE, 'YYYY-FMMM-DD DAY PM HH24:MI:SS') FROM DUAL;

 

SELECT TO_CHAR(SYSDATE, 'YEAR, Q') FROM DUAL;

 

 

MONTHS_BETWEEN(날짜1, 날짜2)

  • 날짜1 > 날짜2 : 양수

  • 날짜1 < 날짜2 : 음수

SELECT MONTHS_BETWEEN(SYSDATE, '2018-03-23') AS A FROM DUAL;

 

 

ADD_MONTHS(날짜, 더하려는 개월 수)

// EMP 테이블에서 입사한 지 20주년이 되는 달을 구하자.
SELECT ENAME AS "사원명", HIREDATE AS "입사일", ADD_MONTHS(HIREDATE, 240) AS "20주년" FROM EMP;

 


변환 함수

 

 


기타 함수

NVL(컬럼, NULL일 때 치환할 값)

  •  

  • 컬럼이 NULL일 경우 치환값으로 대체

  • NULL이 없는 경우에는 해당 컬럼값 반환

컬럼이 NULL일 경우 치환값으로 대체

SELECT ENAME, COMM, NVL(COMM, 0) FROM EMP;

 

 

DECODE(컬럼or문자열, 비교값, 같을 때 반환값[, 다를 때 반환값])

  • 비교값과 비교해서 같으면 반환값 출력

SELECT DECODE(100, 100, '같다', '다르다') FROM DUAL;

 

 

CASE ~ WHEN ~ THEN 반환값;

SELECT ENAME, SAL,
	CASE WHEN SAL <= 1000 THEN '3'
    WHEN SAL <= 2000 THEN '2'
    ELSE '1' END
FROM EMP;

 

최근에 올라온 글
«   2024/07   »
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 27
28 29 30 31
Total
Today
Yesterday