2012-05-15 3 views
0

내가PHP에서 가장 가까운 날짜를 가져옵니다

여기에 실제 테이블 schedule_date이 2012-06-07 0시 0분 0초 서길 같이 포함
SELECT schedule_date FROM schedule_table WHERE schedule_date > '2012-06-07' and event_id='23' ORDER BY schedule_date ASC 
     LIMIT 1 

내가 2012 '확인 여기 내 코드입니다 가까운 날짜를 얻기 위해 노력하고 있어요 안녕하세요 -06-07 '그래서

나는 같은 날 온 뜻이 2012-06-07 06:53:57 같은 출력을 얻을하지만 난 2012-06-08 04:53:57 내가 우리가

은 내가 어떻게이에 연산자처럼 사용할 수있는 연산자처럼 사용하여이 상태를 점검 할 필요가 여기에 생각이 필요 SQL에서 가장 가까운 날짜를 얻기위한 질의 . 미리 감사드립니다.

+1

질문이 명확하지 않습니다. 입력은 무엇입니까? 원하는 출력은 무엇입니까? 대신 당신은 무엇을 얻습니까? –

+0

날짜 필드에 왜 like 연산자가 필요합니까? 그것은 날짜 필드이지 문자열이 아닙니다. 과거 또는 미래에 당신이 제공 한 날짜에 가장 가까운 날짜를 얻으려고합니까? – Recognizer

+0

제공된 날짜가 string 인 경우 사용자는 현재 시간 만 보내지 않으므로이 상태를 어떻게 확인할 수 있습니까? –

답변

1

날짜 값을 datetime 필드 유형과 일치시키는 일반적인 경우가 있습니다. 필요한 것은 같은 날짜의 가장 빠른 시간 값입니다. 데이터에 같은 날짜이지만 시간 값이 다른 여러 행이있을 수 있습니다.

SELECT schedule_date FROM schedule_table WHERE date(schedule_date) >= '2012-06-07' and event_id='23' ORDER BY schedule_date ASC 
     LIMIT 1 

날짜() 함수는 MySQL의 문서 here에 설명되어 있습니다 : 다음 사용해야합니다.

+0

고마워요. 많이 작동합니다. –

+0

환영합니다. :) – somnath

2

검색어 : 연산자 LIKE 사용하지 마십시오 : 2012-06-07 동일한 날짜별로 정렬보다 큰/1

레코드가 원하는 행

주의해야한다 반환 제한합니다. 주어진 문자열 내에서 텍스트 일치를 검색하기 때문에 여기서는 불필요합니다. 분명히 귀하의 쿼리가 성취하려는 것이 아닙니다.

+0

OP 필요 LIKE 연산자 ... –

+0

위 쿼리에서 더 큰 날짜가 필요합니다 –

+1

@FahimParkar OP는 'LIKE'연산자가 필요하다고 생각하지만 가장 확실하게 *하지 않습니다 *. – MetalFrog

관련 문제