2014-01-11 4 views
-1

지정된 날짜 범위 사이에 DateTime이있는 항목을 반환하는 MySQL 데이터베이스에 대한 쿼리를 작성하려고합니다. 동일한 목적을 달성 어떤두 날짜 사이의 날짜 만 사용하여 선택

SELECT myField FROM myTable WHERE myDATE IS BETWEEN {DATE-RANGE}

뭔가를 작성하는 방법이나 뭔가가 있나요?

무엇이 가치있는 일인지, PHP를 사용하여이 쿼리를 실행하고 있습니다.

+1

MySQL의 [BETWEEN ... AND ...] (http://dev.mysql.com/doc/en/comparison-operators.html#operator_between) 비교 연산자가 너무 쉽다고 생각합니까? – eggyal

답변

1

MySQL보다 쉽습니다.

SELECT * 
FROM myTable 
WHERE myDate > '2008-6-22' 
AND mydate < '2014-1-10' 

이 6 월 (22), 2008 년 1 월 (10) 사이의 날짜 행을 반환합니다, 2014 년

+0

'myDate'는'DATETIME'입니다. 2008-06-22 자정은 제외하지만 나머지는 포함합니다. – eggyal

+0

이것은 2 개의 날짜 값 (시작과 끝)을 사용해야하기 때문에 실제로 (BETWEEN을 통해) 내가 사용한 것에 불과했다. – muttley91

2

Google은 놀라운 일을합니다. 그래서 오른쪽 상단의 검색 창은 기적을 일으 킵니다!

어쨌든 당신이 쓴 것을 정확하게 찾고 있습니다!

SELECT myField FROM myTable WHERE myDate BETWEEN '2014-01-01 00:00:00' AND '2014-01-05 23:59:59' ORDER BY myDate 
+0

걱정할 필요가 없습니다. 그러나 실제로, 밀리 세컨드에 대해 언급 했으므로, MySQL> = 5.6.4를 사용한다면,'myDate'는 마이크로 초의 정밀도로 저장 될 수 있습니다. 어떤 경우에는''2014-01-05 23 : 59 : 59.999999 '! – eggyal

1

당신은 운영자 또는 < < => => 사업자 사이의 IN을 ... 사용할 수 있습니다 목표 달성.

물론 날짜가 varchar로 저장되는 경우 일반적으로 상황이 복잡해집니다. 이는 실수입니다.