IT/DB

MSSQL 시간 차이 구하기

하루콩콩 2020. 8. 12. 12:41
반응형

MSSQL 에서 특정 시간들간의 시간차이를 구하고 싶을 때가 있다.

MSSQL의 내장함수인 DATEDIFF() 함수를 사용해서 시간차이를 구할 수 있다

나는 2020-08-12 13:17:05 과 2020-08-12 19:57:05 시간을 String형식으로 임의로 넣고 DateTime형식으로 포맷해서 DATEDIFF함수 변수에 각각 넣었고 초(Second) 차이를 반환값으로 얻어서 시간 차이를 구해주었다.

 

DATEDIFF함수를 사용한 시간차이 구하는 쿼리

 SELECT ((DATEDIFF(second,CONVERT(Datetime,'2020-08-12 13:17:05'),CONVERT(Datetime,'2020-08-12 19:57:05'))
 -(DATEDIFF(second,CONVERT(Datetime,'2020-08-12 13:17:05'),CONVERT(Datetime,'2020-08-12 19:57:05'))/86400)*86400)/3600 ) as '시간',
 ((DATEDIFF(second,CONVERT(Datetime,'2020-08-12 13:17:05'),CONVERT(Datetime,'2020-08-12 19:57:05'))
 -(DATEDIFF(second,CONVERT(Datetime,'2020-08-12 13:17:05'),CONVERT(Datetime,'2020-08-12 19:57:05'))/3600)*3600)/60)  as'분',
 ((DATEDIFF(second,CONVERT(Datetime,'2020-08-12 13:17:05'),CONVERT(Datetime,'2020-08-12 19:57:15'))
 -(DATEDIFF(second,CONVERT(Datetime,'2020-08-12 13:17:05'),CONVERT(Datetime,'2020-08-12 19:57:15'))/60)*60)/1)  as'초'

 

 

 

날짜만 구하고 싶다면 그것 역시 가능하다.

DATEDIFF함수에 날짜를 변수로 넣고 구분자를 day로 넣어주면 된다.

SELECT DATEDIFF(day, '2020-08-12', '2020-08-20');

반응형

'IT > DB' 카테고리의 다른 글

MSSQL 데이터 복원  (0) 2020.08.19
MSSQL에서 Mysql 로 마이그레이션  (0) 2020.08.13
MSSQL 고유값 생성  (0) 2020.07.24
MSSQL 특정 테이블 있는 프로시저 검색  (0) 2020.04.02
Oracle DB버전 확인 쿼리  (0) 2020.03.27