MySQL 문장에서 날짜 스탬프를 통해> = NOW () -1로 레코드를 주문하는 방법이 있습니까? 그래서 오늘부터 미래까지 모든 레코드가 선택됩니까?
MySQL 문장에서 날짜 스탬프를 통해> = NOW () -1로 레코드를 주문하는 방법이 있습니까? 그래서 오늘부터 미래까지 모든 레코드가 선택됩니까?
답변:
날짜 / 시간 기능 에 대한 문서를 보면 다음과 같은 작업을 수행 할 수 있어야합니다.
SELECT * FROM FOO
WHERE MY_DATE_FIELD >= NOW() - INTERVAL 1 DAY
결과가 예상과 약간 다를 수 있습니다.
NOW()
를 반환합니다 DATETIME
.
그리고 INTERVAL
예를 들어 명명 된대로 작동합니다 INTERVAL 1 DAY = 24 hours
.
따라서 스크립트가에서 실행되면 c 03:00
가 누락 first three hours of records from the 'oldest' day
됩니다.
하루 종일 사용하려면 CURDATE() - INTERVAL 1 DAY
. 스크립트 실행시기에 관계없이 전날의 시작 부분으로 돌아갑니다.
거의 다 왔습니다. NOW() - INTERVAL 1 DAY
물론 넌 할 수있어:
SELECT * FROM table
WHERE DateStamp > DATE_ADD(NOW(), INTERVAL -1 DAY)
DATE_ADD
then을 사용하여 혼동합니다 -1 day
.