IT Share you

MySQL : 쿼리의 datetime 필드에 하루를 추가하는 방법

shareyou 2020. 11. 7. 17:58
반응형

MySQL : 쿼리의 datetime 필드에 하루를 추가하는 방법


내 테이블에서 나는라는 이름의 필드가 eventdate에서 datetime같은 형식을 2010-05-11 00:00:00.

이 추가되도록 어떻게 쿼리를 만들 수 있죠 하루 받는 eventdate오늘 인 경우 예를 들어 2010-05-11, 난에 표시 할 where내일 날짜로 모든 레코드를 반환하는 절.

최신 정보:

나는 이것을 시도했다 :

select * from fab_scheduler where custid = 1334666058 and DATE_ADD(eventdate, INTERVAL 1 DAY)

그러나 불행히도 1보다 큰 간격을 추가하더라도 동일한 레코드를 반환합니다.

결과:

2010-05-12 00:00:00

하지만 내일 날짜가있는 레코드 만 선택하고 싶습니다.


다음 DATE_ADD()기능을 사용할 수 있습니다 .

... WHERE DATE(DATE_ADD(eventdate, INTERVAL -1 DAY)) = CURRENT_DATE

다음 SELECT명령문 에서도 사용할 수 있습니다 .

SELECT DATE_ADD('2010-05-11', INTERVAL 1 DAY) AS Tomorrow;
+------------+
| Tomorrow   |
+------------+
| 2010-05-12 |
+------------+
1 row in set (0.00 sec)

이것이 내가 그것을하는 방법이기 때문에 이것으로 가십시오 :)

SELECT * 
FROM fab_scheduler
WHERE custid = '123456'
AND CURDATE() = DATE(DATE_ADD(eventdate, INTERVAL 1 DAY))

MySQL 특정 구문 설탕을 사용할 수 있습니다.

SELECT ... date_field + INTERVAL 1 DAY

DATE_ADD 함수 대신 훨씬 더 예쁘게 보입니다.


NOW ()를 사용할 수 있다면 이것은 가장 간단한 형태가 될 것입니다 :

SELECT * FROM `fab_scheduler` WHERE eventdate>=(NOW() - INTERVAL 1 DAY)) AND eventdate<NOW() ORDER BY eventdate DESC;

MySQL 5.6+에서는 쿼리를 수행해야합니다. SQL 서버에 따라 - CURRDATE()대신 사용할 필요가있을 수 있습니다 NOW().-이 별칭 DATE(NOW())datetime데이터 형식의 날짜 부분 만 반환 합니다.


이건 어때: 

select * from fab_scheduler where custid = 1334666058 and eventdate = eventdate + INTERVAL 1 DAY

이것을 시도 할 수 있습니다.

SELECT DATE(DATE_ADD(m_inv_reqdate, INTERVAL + 1 DAY)) FROM  tr08_investment

$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");

또는 간단하게 :

date("Y-m-d H:i:s", time()+((60*60)*24));

참고 URL : https://stackoverflow.com/questions/2810516/mysql-how-to-add-one-day-to-datetime-field-in-query

반응형