본문 바로가기

개발/BACK

데이터 베이스 날짜 포맷 설정방법, 날짜 비교 방법 [DATE_FORMAT sysdate() now() 차이]

728x90

데이터베이스에 저장되어 있는 날짜 형식의 데이터를 조회할 때,

원하는 형식으로 날짜 데이터를 조회할 수 있다

 

이번 포스팅에서는 날짜 형식을 사용자가 지정해서 조회하는 방법과

 오늘날짜와 비교하는 법, 지정 날짜 사이의 날짜를 구하는 방법을 포스팅할 예정이다

 


 

1

기본적인 날짜 형식으로 조회하기

(yyyy-mm-dd or yyyy.mm.dd)

 

SELECT DATE_FORMAT(SYSDATE(),'%Y-%m-%d'FROM dual;
 
RESULT : 2022-04-18
 
SELECT DATE_FORMAT(SYSDATE(),'%Y.%m.%d'FROM dual;
 
RESULT : 2022.04.18
cs

 

%Y : 년도 4자리 

%m : 월 2자리

%d : 일 2자리


2

기본형식+ 시 분 초 

 

 

SELECT DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%m:%s'FROM dual;
 
RESULT : 2022-04-18 22:35:43
 
SELECT DATE_FORMAT(SYSDATE(),'%Y.%m.%d %T'FROM dual;
 
RESULT : 2022.04.18 22:35:51
cs

 

%H : 시간 (24시간)

%m : 분 (60분)

%s : 초 (60초)

%T : 시:분:초

 


3

현재 시간과 날짜 비교

 

now()
 
SELECT * FROM tb_reply WHERE now() > creat_dt;
 
sysdate()
 
SELECT * FROM tb_reply WHERE sysdate() > creat_dt;
 
cs

now() :

쿼리를 실행시킨 시각을 기준으로 조회

(모든 컬럼 시간들이 일정)

 

sysdate() :

해당 함수가 실행되는 시간 기준으로 조회

(실행 시간이 긴 쿼리의 경우, 함수 실행 시간에 따라 조회되는 시간이 달라짐)

 


4

특정 날짜 사이의 값 조회

 

SELECT * FROM tb_reply WHERE creat_dt BETWEEN '20210301000000' AND '20210331235959' ;
cs

 

'년(2021) 월(03) 일(01) 시분초(000000)'

 

creat_dt 값이

2021년 3월 1일 00시 00분 00초 부터 2021년 3월 31일 23시 59분 59초 

사이 값일 경우 조회된다

 

해당 날짜 비교는 이렇게도 사용할 수 있다

 

SELECT * FROM tb_reply WHERE creat_dt < '20210331235959' ;
cs

 

728x90