To _date (날짜형으로 변환),
나라마다 날짜형이 다르기 때문에 해당함수가 쓰인다.
내가 어떠한 환경에 있던 (나라 상관없이) 정확하게 81년 11월 17일에 입사한 사원의 데이터를 오류없이 검색하는 방법
년 월 일 모두를 출력 하는 경우에만 쓰일 수 있는 함수이다.
예제 : 이름과 입사일을 뽑는데 91년 11월17 일 인 사람들을 출력해라.
select ename, hiredate
from emp
where hiredate = to_date ( '91/11/17', 'RR/NN/DD');
설명 : 확실하게 날짜를 검색하는 방법이다.
where 절에
where hiredate = '81/11/17'
도 검색이 되긴 한다. but 다른 환경(다른나라) 가면 오류가 뜰 수 있다는점
문제 : 81년도에 입사한 사원들의 이름과 입사일을 출력하시오!
select ename, hiredate
from emp
where hiredate between to_date('81/01/01', 'RR/MM/DD') and to_date('81/12/31','RRRR/MM/DD')+1
설명 : 81년 1월 1일 00시00분 00초 ~ 81 년 12 월 31일 00시 00분 00초 이기때문에 결국 12월 30일 까지만 인식이 되기때문에.. +1 로 하루를 더해 주어야 정확하게 12월 31일 까지 인식이 된다.
또는
select ename, hiredate
from emp
where hiredate like '81%'
like 연산자의 의미는 81 이후의 모든 데이터(%)를 가져오는것 이기때문에 가능하다.
오라클 환경에 날짜 데이터 형식을 확인하는 방법
select *
from pls_session_parameters;
설명 : date format 에서 value 를 확인하면 된다.
'Oracle > SQL' 카테고리의 다른 글
SQL 단일행 함수 - 일반함수 (NULL 을 처리하는 NVL, NVL2) (0) | 2021.11.19 |
---|---|
SQL 단일행 함수 -변환함수 (to_number) , 암시적 형 변환 (0) | 2021.11.19 |
SQL 단일행 함수 -변환함수 (To_char) 문자형으로 변환 (0) | 2021.11.19 |
SQL 단일행 함수 - 날짜함수 (0) | 2021.11.19 |
SQL 단일행 함수 - 숫자함수 (Round, Trunc, Mod)반올림, 숫자버리기, 나누기 (0) | 2021.11.19 |