쿼리를 수정하다 과장님께서 작성해 놓으신 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 |