programing

MYSQL 범위가 작동하지 않음

goodsources 2022. 9. 4. 20:19
반응형

MYSQL 범위가 작동하지 않음

저는 아래의 문의를 달성하고 싶습니다.기한이 있는 행(entries.end <1시간 미만)을 선택합니다.

SET SESSION time_zone = '+8:00';
SELECT chatID, description
FROM entries
WHERE TIMESTAMPDIFF( 
SECOND , entries.end, NOW( ) ) BETWEEN 0 AND 3601

하지만 실제로는 효과가 없습니다.아래 쿼리도 없습니다.

SET SESSION time_zone = '+8:00';
SELECT chatID, description
FROM entries
WHERE TIMESTAMPDIFF( 
SECOND , entries.end, NOW( ) )<=3600
AND TIMESTAMPDIFF( 
SECOND , entries.end, NOW( ) )>=0

다만, 다음의 코드는 기능하고 있습니다.

SET SESSION time_zone = '+8:00';
SELECT chatID, description
FROM entries
WHERE TIMESTAMPDIFF( 
SECOND , entries.end, NOW( ) ) <=3600

어떤 도움이라도 감사합니다.여러분, 감사합니다.

편집 테이블 구조 쿼리

함수 안에 열을 숨기지 마십시오.

WHERE entries.end >= NOW() - INTERVAL 1 HOUR
  AND entries.end <= NOW()

쓰기 쉽고 명확합니다.게다가 만약end인덱스가 작성되어 있어 효율을 높이기 위해 인덱스가 사용될 가능성이 있습니다.

언급URL : https://stackoverflow.com/questions/37364060/range-in-mysql-not-working

반응형