2013-04-08 3 views
0

WHERE 절을 사용하여 테이블을 쿼리 할 수 ​​있습니다. 필드에서 '문자열 한 조각'을 조건으로 내 문자열과 비교하고 싶습니다. 선택. 사진에서 PHP Substr() 함수를 사용하여 테이블 쿼리

, 방금 $indicator = 03/2013와 비교 일로부터 에게 필드를 사용하고 싶습니다.

어떤 생각이 어떻게 쿼리를 수행 할 수 있으므로 그 결과는 같을 것이다

enter image description here

어떤 도움 감사합니다. 미리 감사드립니다. 당신의 MySQL의 쿼리 대신 =

에서

답변

1

가 가장 가능성이 날짜있어, 당신은, 테이블의 문자열을 처리되지 않은 가능성이 높습니다. 당신이 문자열을 처리하는 경우, 그것은 %는 (사용 좋을 것입니다) 이전 도스 일 실제 날짜 필드에 대한

에서 * 같은 와일드 카드가

SELECT * FROM table WHERE DATE LIKE '%03/2013'; 

있어,이 사이에 간단 당신이 '2013-03-01''2013-03-31'

,691,363를 사용하면 더 나을 것 MySQL은 같은 뭔가를, 당신의 엔진에 대한 적절한 날짜 형식을 따를 필요가

SELECT * FROM table WHERE DATE BETWEEN '01/03/2013' AND '31/03/2013' 

주210

가장 힘든 부분은 첫날과 마지막 날이 올 것입니다. 그러나 그 경우는 'Last day of the month' 등과 같은 것을 넣어 줄 수있는 strtotime()을 보았습니다. 올바르게 포맷하고 문자열로 재생해야하지만, strtotime()이 할 수있는 일은 사소한 일입니다.

+0

감사합니다 Andrew, 저는 이것이 최선의 대답이라고 생각합니다. –

1

사용 LIKE 참조 : (source)

+1

좋아요. LIKE는 비교가 훨씬 엄격하므로 LIKE로 전환해도 문제가 해결되지 않습니다. 비교에서 와일드 카드 패턴을 설정하려면 %를 사용해야합니다. –

+0

@Andrew 리소스 링크를 먼저 확인하면 리소스 링크를 먼저 확인하는 것이 좋습니다. –

+0

그 의미가 무엇인지 모르겠지만 참조 링크, 특히 SQL 표준에 따라 LIKE가 -character basis이므로 = 비교 연산자와 다른 결과를 생성 할 수 있습니다 :' –