MYSQL 쿼리 / 1 주 전보다 오래된 날짜 (UTC의 모든 날짜 시간)


89

날짜 시간이 1 주일 이전 인 모든 레코드를 반환하도록 mysql db를 쿼리하는 방법은 무엇입니까? datetime 테이블은 모든 것을 UTC로 저장하므로 그 자체로 비교해야합니다.

분명히 말하면 순수한 mysql 쿼리를 찾고 있습니다.

답변:


215
SELECT * FROM tbl WHERE datetime < NOW() - INTERVAL 1 WEEK

테이블이 NOW()반환 되는 것과 다른 시간대에 날짜 시간을 저장 하는 경우 UTC_TIMESTAMP()대신 사용 하여 UTC로 타임 스탬프를 가져올 수 있습니다 .


18
SELECT * FROM table WHERE DATEDIFF(NOW(),colname) > 7;

5
이 코드가 질문에 답할 수 있지만,이 코드가 질문에 답하는 이유 및 / 또는 방법에 대한 추가 컨텍스트를 제공하면 장기적인 가치가 향상됩니다.
JAL

이건 더 짧아요, 이걸 써도 될까요?
moeiscool

3
더 짧을 수도 있지만 인덱스를 어떻게 사용할 수 있습니까?
swdev

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.