MySQL에서 두 날짜의 일수를 구하는 방법은 무엇입니까?
MySQL에서 며칠 안에 포함된 일수를 알아야 합니다.
예를 들어 다음과 같습니다.
- 체크인 날짜는
12-04-2010
- 체크아웃일자
15-04-2010
일차는 3일입니다.
DATIFF 기능은 어떻습니까?
매뉴얼 페이지 인용:
DATIFF()는 expr1 – expr2를 어떤 날짜에서 다른 날짜로 일 단위로 반환합니다.expr1 및 expr2는 날짜식 또는 날짜식입니다.값의 날짜 부분만 계산에 사용됩니다.
이 경우 다음을 사용합니다.
mysql> select datediff('2010-04-15', '2010-04-12');
+--------------------------------------+
| datediff('2010-04-15', '2010-04-12') |
+--------------------------------------+
| 3 |
+--------------------------------------+
1 row in set (0,00 sec)
단, 날짜는 다음과 같이 기재해야 합니다.YYYY-MM-DD
가 아닌DD-MM-YYYY
당신이 올린 것처럼요
두 날짜 사이에 24시간 동안 전체 날짜를 계산하려면 dateiff에서 잘못된 값을 반환할 수 있습니다.
설명서에 기재되어 있는 바와 같이:
값의 날짜 부분만 계산에 사용됩니다.
결과적으로
select datediff('2016-04-14 11:59:00', '2016-04-13 12:00:00')
는 예상된 0이 아닌 1을 반환합니다.
솔루션 사용 중select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
(dateiff와 비교한 인수 순서를 주의해 주세요).
몇 가지 예:
select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
0을 반환하다select timestampdiff(DAY, '2016-04-13 11:00:00', '2016-04-14 11:00:00');
1을 반환select timestampdiff(DAY, '2016-04-13 11:00:00', now());
는 2016-04-13 11:00:00 이후 지금까지 24시간이 경과한 횟수를 반환합니다.
그것이 누군가에게 도움이 되기를 바란다. 왜냐하면 처음에는 왜 dateiff가 예상치 못하거나 잘못된 값을 반환하는지는 그다지 명확하지 않기 때문이다.
함수를 사용합니다.
문서의 예:
SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
-> 1
필요에 따라 유닛을 쉽게 변경할 수 있기 때문에 TIMESTAMPDIFF를 선호합니다.
현재 날짜에서 대상 날짜 사이의 일 가져오기
SELECT DATEDIFF('2019-04-12', CURDATE()) AS days;
산출량
날들
335
SELECT md.*, DATEDIFF(md.end_date, md.start_date) AS days FROM membership_dates md
출력:
id entity_id start_date end_date days
1 1236 2018-01-16 00:00:00 2018-08-31 00:00:00 227
2 2876 2015-06-26 00:00:00 2019-06-30 00:00:00 1465
3 3880 1990-06-05 00:00:00 2018-07-04 00:00:00 10256
4 3882 1993-07-05 00:00:00 2018-07-04 00:00:00 9130
반올림된 일수보다 더 정확한 값을 원하는 경우:
select timestampdiff(minute, min(date_col), max(date_col))/1440 from table
TIMESTAMPDIFF(DAY,STR_TO_DATE(date_format('2018-01-01', '%d-%m-%YYYY'),'%d-%m-%YYYY'), '2020-01-01') TOTAL_DAYS
합계_일수: 730일
언급URL : https://stackoverflow.com/questions/2490173/how-to-get-the-number-of-days-of-difference-between-two-dates-on-mysql
'sourcecode' 카테고리의 다른 글
CodeIgniter: 새 도우미를 생성하시겠습니까? (0) | 2022.11.17 |
---|---|
대조란 무슨 뜻입니까? (0) | 2022.11.17 |
Safe String to BigDecimal 변환 (0) | 2022.11.16 |
Python 문자열에서 특정 문자 제거 (0) | 2022.11.16 |
마리아DB / Python의 이모티콘 문제 (0) | 2022.11.16 |