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
'IT Share you' 카테고리의 다른 글
여러 진입 점을 사용하여 babel polyfill을 포함하는 가장 좋은 방법은 무엇입니까? (0) | 2020.11.08 |
---|---|
Java- 'this'키워드를 사용하는 경우 (0) | 2020.11.07 |
장고 관리자의 양식 필드 설명 (0) | 2020.11.07 |
내 애플리케이션에서 Android가 선택한 레이아웃을 어떻게 감지 할 수 있습니까? (0) | 2020.11.07 |
MVC 4 API 경로를 어떻게 디버깅합니까? (0) | 2020.11.07 |