티스토리 뷰
날짜 함수
이름 | 의미 |
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;
'DATABASE > 이론' 카테고리의 다른 글
[DB] [ORACLE] TOP N QUERY - ROWNUM ( 조회한 결과에 순위 매기기 ) (0) | 2019.12.31 |
---|---|
[DB] 분석 함수 3 - 다중 행 함수 ( 집계함수 , 그룹함수 ) , GROUP BY , HAVING (0) | 2019.12.31 |
[DB] 분석 함수 1 - DUAL 테이블 , 단일 행 함수 ( 숫자함수 , 문자함수 ) (0) | 2019.12.31 |
[DB] 데이터 무결성 , 제약조건 (0) | 2019.12.10 |
[DB] 시퀀스 ( SEQUENCE ) - 생성 , 적용 , 수정 , 삭제 (0) | 2019.12.10 |