developer tip

지난 24 시간 동안 날짜 필드가있는 레코드 찾기

optionbox 2020. 10. 18. 09:21
반응형

지난 24 시간 동안 날짜 필드가있는 레코드 찾기


이 질문에 이미 답변이 있습니다.

내 SQL 쿼리에서 지난 24 시간 동안의 레코드를 찾으려면 어떻게해야합니까?

   SELECT * FROM news WHERE date < 24 hours

나는 보통 변수를 date ()-1 일로 설정하고 그것을 비교하여 수행하지만 SQL 쿼리 방식이 더 빠른지 궁금합니다.


현재 시간에서 1 일을 뺀 날짜보다 높은 날짜를 선택하기 만하면됩니다.

SELECT * FROM news WHERE date >= now() - INTERVAL 1 DAY;

SELECT * FROM news WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR)

SELECT * from new WHERE date < DATE_ADD(now(),interval -1 day);

지난 24 시간 동안의 기록을 가져 오려면 :

SELECT * from [table_name] WHERE date > (NOW() - INTERVAL 24 HOUR)

SELECT * FROM news WHERE date > DATEADD(d,-1,GETDATE())

이를 수행하는 방법에는 여러 가지가 있습니다. 나열된 항목은 훌륭하게 작동하지만 datetime 필드가있는 경우 다른 방법이 있습니다.

SELECT [fields] 
FROM [table] 
WHERE timediff(now(), my_datetime_field) < '24:00:00'

timediff() 시간 객체를 반환하므로 86400 (하루 초 수)과 비교하는 실수를하지 마십시오. 그렇지 않으면 출력이 모든 종류의 잘못 될 것입니다.


SELECT * FROM news WHERE date < DATEADD(Day, -1, date)

참고 URL : https://stackoverflow.com/questions/8079671/find-records-with-a-date-field-in-the-last-24-hours

반응형