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 |