Jun's World

ORACLE 날짜 사용 방법 본문

Oracle

ORACLE 날짜 사용 방법

블로그_준 2023. 6. 21. 17:39

SELECT  TO_DATE('2023-06-21 14:00:00') 
,       TO_DATE('2023-06-21 14:00:00') + 1         
,       TO_DATE('2023-06-21 14:00:00') + 1/24
FROM    dual;

 

+1 은 하루, 하루는 24시간이니 + 1/24는 한시간입니다.

 

SELECT  TO_DATE('2023-06-21 14:00:00')              AS 현재시간
,       TO_DATE('2023-06-21 14:00:00') + 1/24/60    AS 일분_1
,       TO_DATE('2023-06-21 14:00:00') + 1/1440     AS 일분_2
FROM    dual;

 

그럼 1분은? 1/24/60 이지요, 간단히 1/1440 으로 사용해도 됩니다.

실제 개발자들 쿼리 까보면 이런식으로 사용하는 사람들 많더라구요

 

SELECT  TO_DATE('2023-06-21 14:00:00')              AS 현재시간
,       TO_DATE('2023-06-21 14:00:00') + 1/24/60/60 AS 일초_1
,       TO_DATE('2023-06-21 14:00:00') + 1/86400    AS 일초_2
FROM    dual;

 

그럼 1초는? 다시 60으로 나누면 되겠지요?

SELECT  LAST_DAY(sysdate)
,       TO_DATE('2023-06-01')
,       TO_DATE('2023-06-01') + 0.99999
FROM    dual;

 

회사에서 이 수식을 많이 사용합니다.원리는 1일을 초로 바꾸면 86400 초입니다. ( 1/24/60/60 )그럼, 0.99999일은? 864000 × 0.99999 = 86399.136 초이죠이 값은 2023-06-01 23:59:59 보다 큰 값이라 이 사이값들이 싹 조회됩니다.그래서 만약  6월 1일에 발생된 데이터를 조회 하고 싶다면 + 0.99999 로 BETWEEN걸어서 조회하면 됩니다.가끔  쿼리 실수하는 것 보면, 이걸 잘못거는 경우가 간혹 나옵니다.

 

 

반응형