반응형
mySQL date시간 범위 쿼리 문제
간단한 질문이 있습니다.datetime 열이 포함된 감사 테이블(예: 2012-03-27 00:00:00)을 가지고 있습니다. 날짜가 두 날짜 사이에 있으면 행 집합을 반환하는 mySQL 쿼리를 만들고 있습니다.
지금까지 제 질문은 다음과 같습니다.
SELECT * FROM util_audit WHERE DATED >= DATE(03/15/2012) AND DATED <= DATE(03/31/2012);
사용만 하면
SELECT * FROM util_audit WHERE DATED >= DATE(03/15/2012);
그들이 이번 주에 데이트를 했기 때문에 제 모든 기록을 돌려줄 것입니다.
저도 해봤습니다.
SELECT * FROM util_audit WHERE DATED >= '02/15/2012 00:00:00' AND DATED <= '03/31/2012 00:00:00';
아무것도!이번 달 27일부터 오늘까지 데이트한 걸 알면 열이 하나도 없어요.내가 뭘 빠트렸나요?왜 두번째 날짜를 추가할때는 안되나요?뭔가 간과하고 있는 것 같아요.
시도:
SELECT * FROM util_audit WHERE `DATED` BETWEEN "2012-03-15" AND "2012-03-31";
여기에는 정확한 종료 날짜를 사용하여 파악해야 하는 몇 가지 에지 사례가 있습니다. 만약 31일의 항목이 무시되지 않는다면,
SELECT * FROM util_audit
WHERE DATED >= '2012-02-15 00:00:00' AND DATED <= '2012-03-31 23:59:59';
SELECT * FROM util_audit
WHERE DATED BETWEEN '2012-02-15 00:00:00' AND '2012-03-31 23:59:59';
또는 종료 날짜를 앞당겨 다음을 사용할 수 있습니다.
SELECT * FROM util_audit
WHERE DATED >= '2012-02-15 00:00:00' AND DATED < '2012-04-01';
SELECT * FROM util_audit
WHERE DATED BETWEEN '2012-02-15 00:00:00' AND '2012-04-01';
방금 이걸 제가 발견했으니 다른 분들이 이 페이지를 찾으시면 도움이 되시길 바랍니다.
MySql의 날짜는 형식으로 표시되는 것으로 알고 있습니다.yyyy-MM-dd hh:mm:ss
따라서 이 작업을 수행해야 합니다.
SELECT * FROM util_audit
WHERE DATED >= '2012-02-15 00:00:00' AND DATED <= '2012-03-31 00:00:00';
아니면 더 좋음:
SELECT * FROM util_audit
WHERE DATED BETWEEN '2012-02-15 00:00:00' AND '2012-03-31 00:00:00';
언급URL : https://stackoverflow.com/questions/9935690/mysql-datetime-range-query-issue
반응형
'source' 카테고리의 다른 글
'루프' 외부에 워드프레스 'Comments Template' 표시 (0) | 2023.10.18 |
---|---|
WP_meta_value_num별 쿼리 순서가 작동하지 않습니다. (0) | 2023.10.18 |
raspberry Pi가 아닌 production server에서 작동하는 mysql window 기능 (0) | 2023.10.18 |
일/월 보관(년미포함) (0) | 2023.10.18 |
제출 버튼을 사용하지 않고 표준 HTML 유효성 검사(양식)를 트리거하시겠습니까? (0) | 2023.10.18 |