업무/실수 노트

[SQL] DATEDIFF, TIMEDIFF

sofiaaa 2022. 2. 22. 10:48
반응형

쿼리를 수정하다 과장님께서 작성해 놓으신 DATEDIFF의 정확한 정의가 궁금해졌다.
그 차이가 해당 연도인지 월인지 일인지 정확한 의미가 궁금했고,
DATEDIFF(해당날짜1 , 해당날짜2) 면 일 차이였다.
다음과 같이 현재와 그 해당 날짜와 차이가 3일 이하로 나면 1 아니면 0이었다.

IF(DATEDIFF(NOW(), created_date) <= 3, 1, 0) AS is_new

DATEDIFF


다음과 같이 DATEDIFF('비교날짜1' , '비교날짜2') 로 쿼리를 작성해보았을 때 결과는 하루 차이로 1이 나오는 것을 알 수 있었다.

SELECT DATEDIFF(NOW(), '2022-02-21 14:51:08') FROM dual;


DATEDIFF(조건, '비교날짜1', '비교날짜2') 는 다음과 같이 사용하면 된다.

SELECT DATEDIFF(year, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(quarter, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(month, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(dayofyear, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(day, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(week, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(hour, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(minute, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(second, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(millisecond, '비교날짜1', '비교날짜2'); SELECT DATEDIFF(microsecond, '비교날짜1', '비교날짜2');



TIMEDIFF


TIMEDIFF('비교시간1', '비교시간2') 와 같이 사용하면 된다.

SELECT TIMEDIFF("2022-02-21 14:00:00" , "2022-02-21 00:00:00");





참고

https://bramhyun.tistory.com/27

[MYSQL] TIMEDIFF/ DATEDIFF /TIMESTAMPDIFF 함수 - 날짜 차이 계산

이번 글에서는 날짜 차이를 계산하는 함수들을 모두 알아보려고 합니다. 알아볼 함수는 TIMEDIFF, DATEDIFF, TIMESTAMPDIFF입니다. TIMEDIFF 함수 DATEDIFF 함수는 문자 그대로 두 날짜 간의 차이를 DATE(일)로

bramhyun.tistory.com




https://docs.microsoft.com/ko-kr/sql/t-sql/functions/datediff-transact-sql?view=sql-server-ver15

DATEDIFF(Transact-SQL) - SQL Server

DATEDIFF 함수의 Transact-SQL 참조입니다. datepart를 기준으로 시작 날짜와 종료 날짜 사이의 숫자 차이를 반환합니다.

docs.microsoft.com





반응형

'업무 > 실수 노트' 카테고리의 다른 글

[JAVA] java stream sort null pointer exception  (0) 2022.02.28
[JAVA] setTimeZone  (0) 2022.02.25
[JAVA] Comparator.comparing().reversed()  (0) 2022.02.17
[JAVA] 조건절  (0) 2022.02.16
[SQL] GROUP BY 2개 이상  (0) 2022.02.15