타임 스탬프 필드를 사용하여 항목이 삽입 된 시간을 추적하는 MySql 데이터베이스가 있습니다.PHP의 날짜 범위에 대한 MySql 쿼리
이제 날짜 범위별로 항목에 대한 테이블을 쿼리하고 싶습니다.
필자는 모든 레코드를 추출하는 대신 MySql을 사용하여 PHP의 날짜를 비교하고 반복하는 것을 선호합니다.
그래서 시작일과 종료일이 있습니다. YYYY-MM-DD :
// this doesn't appear to be working
SELECT COUNT(*) FROM table_name
WHERE DATE(timestamp_row) BETWEEN '{$date1}' AND '{$date2};
// this doesn't appear to be working either
SELECT COUNT(*) FROM table_name
WHERE DATE(timestamp_row) >= {$date1}
AND DATE(timestamp_row) <= {$date2};
MySQL의 DATE() 함수는이 형식으로 타임 스탬프를 켜지는지가 나타납니다 : 나는 쿼리의 이러한 이가지에 성공하지 YYYYMMDD 및 YYYY-MM-DD 형식을 시도했다
이렇게하는 방법이 있습니까?
작은 따옴표로 묶인 YYYY-MM-DD 문자열을 제공 한 경우 원하는대로 쿼리가 작동합니다. 여기 내가 볼 수없는 뭔가가 잘못되었습니다. 'timestamp_row'는 TIMESTAMP/DATETIME/DATE 타입 컬럼이 아닙니까? –
'{$ date1} '대신 실제 날짜 값으로 시도 했습니까? – sdleihssirhc
@dan timestanp_row는 mysql 유형의 타임 스탬프입니다. 정적 번호를 사용하여 작동하는지 확인해 볼 것입니다 .. – OneNerd