2016-06-15 3 views
0

작동하지 :선택 날짜를 기준으로 나는이 SQL을

SELECT * FROM table WHERE `end` >= '2016-06-20 00:00:00' AND end <= '2016-06-26 00:00:00' 

예를 들어, 엔드 만약 = 2016-06-26 19:00:00는 SQL이 행을하지 않고 나는 이유를 이해하지 않습니다. 도와 줄수있으세요 ? 정상적으로 올바르게 작동합니다.

+0

입니다. 마지막 날을 포함 시키려면'23 : 59 : 59'를 사용하십시오. 또는 시간 만없이 날짜 만 사용하십시오. –

+0

'end = '2016-06-26 19 : 00 : 00''이라면 적어도 하나의 레코드가 존재해야합니다! –

답변

3

전체 날짜는 & 번입니다. 00:00:0019:00:00이되므로 19:00:00 값이 지정된 범위를 벗어납니다.

특정 날짜에 모든 시간을 포함하려면 날짜 값만 비교하십시오. '19> 0'이기 때문에

WHERE date(end) BETWEEN '2016-06-20' AND '2016-06-26' 
+0

'end'는 예약어이므로 이스케이프해야합니다. – Rahul

+0

그것은 단지 예제 일 뿐이므로 특별히 100 % 정확함에 대해 걱정하지 않습니다. 어쨌든 그 자체로는 사용할 수 없습니다. –

+1

OP가 그것을 모르는 경우를 대비하여 지적해야합니다. 따라서 주석은 대답에 대한 추가 포인터입니다. – Rahul

관련 문제