반응형
⚫날짜함수 : 매개변수로 날짜값을 전달받아 가공 처리한 결과값을 반환하는 함수
🔘SYSDATE : 오라클 시스템의 현재 날짜와 시간을 제공하기 위한 키워드
SYSDATE 키워드로 제공되는 날짜값은 [RR/MM/DD] 패턴으로 검색되지만 내부적으로는 현재 날짜와 시간정보를 제공
SELECT SYSDATE FROM DUAL;
🔘 ADD_MONTHS(날짜값,숫자값) : 날짜값을 전달받아 숫자값의 개월수를 증가한 날짜값을 반환하는 함수
SELECT SYSDATE,ADD_MONTHS(SYSDATE,5) FROM DUAL;
🔘 날짜값은 + 연산자 또는 - 연산자를 사용하여 연산 처리 가능
--날짜값 + 숫자값 = 날짜값 >> 일 증가
SELECT SYSDATE,SYSDATE+7 FROM DUAL;
--날짜값 + 숫자값/24 = 날짜값 >> 시간 증가
SELECT SYSDATE, SYSDATE+100/24 FROM DUAL;
--날짜값 - 숫자값 = 날짜값 >> 일 감소
SELECT SYSDATE, SYSDATE-7 FROM DUAL;
--날짜값 - 숫자값/24 = 날짜값 >> 시간 감소
SELECT SYSDATE,SYSDATE-100/24 FROM DUAL;
--날짜값 + 날짜값 => 연산처리 안됨XXX
--날짜값 - 날짜값 = 숫자값 >> 일(실수값) => 이건 가능
--EMP 테이블에서 사원번호가 7499인 사원의 사원번호,사원이름,입사일,근속일수(현재-입사일) 검색
SELECT EMPNO,ENAME,HIREDATE,SYSDATE-HIREDATE FROM EMP WHERE EMPNO=7499;
SELECT EMPNO,ENAME,HIREDATE,CEIL(SYSDATE-HIREDATE)||'일' 근속일수 FROM EMP WHERE EMPNO=7499;
추가 예제) 크리스마스까지 남은 날짜 계산
SELECT CEIL(TO_DATE('23/12/25')-SYSDATE)||'days left until Christmas.' "How many days left til Christmas?"
FROM DUAL;
'23/12/25' 는 문자값이기 때문에 TO_DATE 함수를 이용해 날짜값으로 바꿔준다.(다음 포스팅에 쓰려고 한 함수임ㅎㅎ)
그리고 연산을 하면 실수로 나오기 때문에 CEIL 함수(숫자함수편에 나옴)를 써서 정수로 만들어준다.
크리스마스까지 26일 남았다니...!!! 트리를 빨리 더 많이 즐겨야겠다❄️🌳💝🎅🎄
🔘 NEXT_DAY(날짜값,요일) : 전달받은 날짜값을 기준으로 미래의 특정 요일에 대한 날짜값을 반환하는 함수
SELECT SYSDATE,NEXT_DAY(SYSDATE,'금') FROM DUAL;
🔘 오라클 서버에 접속된 사용자 환경(세션 : SESSION)에 따라 사용 언어 및 날짜값의 패턴 또는 화폐단위 등이 다르게 적용 --세션의 사용 언어 및 날짜값의 패턴 또는 화폐단위 변경 가능
ALTER SESSION SET NLS_LANGUAGE='AMERICAN';--사용 언어 변경 : AMERICAN
SELECT SYSDATE,NEXT_DAY(SYSDATE,'FRI') FROM DUAL;
ALTER SESSION SET NLS_LANGUAGE='KOREAN';--사용 언어 변경 : KOREAN
SELECT SYSDATE,NEXT_DAY(SYSDATE,'금') FROM DUAL;
🔘 TRUNC(날짜값,범위) : 날짜값을 전달받아 원하는 범위의 값까지만 검색되도록 절삭 처리하고 나머지 범위의 값은 초기값으로 변환하여 반환하는 함수
SELECT SYSDATE,TRUNC(SYSDATE,'MONTH'),TRUNC(SYSDATE,'YEAR') FROM DUAL;
반응형
'Database > Oracle' 카테고리의 다른 글
[SQL-Oracle]함수(Function) - 일반함수 -NVL, DECODE (2) | 2023.11.30 |
---|---|
[SQL-Oracle]함수(Function) - 변환함수 - TO_CHAR, TO_NUMBER, TO_DATE (0) | 2023.11.29 |
[SQL-Oracle]함수(Function) - 숫자함수 (1) | 2023.11.28 |
[SQL-Oracle]함수(Function) - 문자함수 (0) | 2023.11.28 |
[SQL 입문] DQL 실습 예제👩💻 (0) | 2023.11.28 |