아주 쉬우면서도 착각할 수도 있는 날짜 조회
2022. 4. 7. 21:00ㆍOracle/Oracle Study
반응형
아래와 같은 테이블이 존재한다.
SQL> select name, reg_date from temp_food_info;
NAME | REG_DATE |
archor | 2022/04/05 23:44:11 |
milk | 2022/04/06 10:23:44 |
water | 2022/04/07 00:00:00 |
chicken | 2022/04/07 00:00:01 |
meat | 2022/04/08 00:10:00 |
여기서 우리는 등록날짜가 4/6~4/7 데이터를 산출 할 것이다.
SQL> select *
from temp_food_info
where reg_date between to_date('20220406','yyyymmdd') and to_date('20220407','yyyymmdd')
;
결과값
NAME REG_DATE ------- ------------------- milk 2022/04/06 10:23:44 water 2022/04/07 00:00:00 |
등록일이 4/7 임에도 불구하고 chicken 이 누락되었다.
이유는 날짜만 지정하였을 경우 시간대는 00:00:00으로 인식하기 때문에 4/7 00:00:00 이후 데이터는 조회가 되지 않는다.
그러므로 2022/04/07 00:00:01 에 등록된 chicken은 누락이 된 것이였다.
해결방법은 간단하다. 날짜 조건을 시간까지 포함 또는 그 이상의 날짜를 넣자.
(1) 시간포함
where reg_date between to_date('2022/04/06 00:00:00','yyyy/mm/dd hh24:mi:ss')
and to_date('2022/04/07 23:59:59','yyyy/mm/dd hh24:mi:ss')
(2) 그 이상의 날짜
where reg_date >= to_date('20220406','yyyymmdd')
and reg_date < to_date('20220408','yyyymmdd')
간과하지 말고 항상 주의를 기울어야 겠다.
반응형
'Oracle > Oracle Study' 카테고리의 다른 글
trigger 사용 (3) | 2024.11.13 |
---|---|
패스워드 주기 확인 (0) | 2022.04.22 |
[oracle19c] 사용자 생성 및 삭제 (ORA-65096, ORA-28014) (0) | 2022.03.24 |
11g alert 파일 경로 확인 (0) | 2022.02.09 |
shmmax 값에 대한 추측성 글 (0) | 2015.03.10 |