2012-08-12 4 views
0

나는 MYSQL에서 TV 가이드를 저장해야하고 나는 이런 식으로 뭔가를 생각하고 있었다 :MySQL의 시간 비교

channel_id   day  start_time end_time 

AMC Breaking Bad:) Monday 19:00:00 20:30:00 

Other Program  Saturday 09:30:00 12:30:00 

end_timestart_timeTIME 분야이며, HOURS를 저장합니다.

내 문제와 질문은 다음과 같습니다

어떻게 지금보고있는 어떤 프로그램 MYSQL에서 얻을 수()? 시간을 비교하는 방법을 모르겠습니다. 나는 약간의 시험을했지만, 나는 아무것도 얻지 못했다.

희망 영어를 이해하십시오! 감사합니다!

답변

3

나는 지금 NOW가 start_time보다 크고 end_time보다 작은 곳에있는 프로그램 목록을 얻는 방법을 묻고 있다고 생각합니다. 여기 가정으로 SQL이다 :

SELECT * FROM tv_guide 
WHERE CURTIME() BETWEEN start_time AND end_time; 

편집 : @Corbin 노트, 당신은 하루에 확인해야합니다.

+0

감사합니다. 제대로 작동합니다. 다시 한 번 감사드립니다! – mauriblint

+0

안녕하세요. 한 가지 더 질문이 있습니다. CURRENT_TIME() 함수를 몇 시간 뺀 후 곧 제공 될 프로그램을 얻으려면 어떻게해야합니까? – mauriblint

+0

@mauriblint이면 DATE_SUB 함수가 작동해야합니다. WHERE DATE_SUB (CURTIME(), INTERVAL 2 HOURS) start_time 및 end_time. 현재 시간보다 2 시간이나 DATE_ADD를 사용하면 현재 시간 이후 몇 시간이됩니다. DATE_ADD (CURTIME(), INTERVAL 2 HOURS)와 start_time 및 end_time – davidethell

2
SELECT * FROM shows WHERE CURRENT_TIME() BETWEEN start_time AND end_time; 

당신은 아마도뿐만 아니라 일을 확인 할 수 있습니다,하지만 그건 또 다른 where 절 (AND day = 'Friday')입니다.

+1

+1 날 잡기. – davidethell

+0

감사합니다. 잘 작동합니다! 다시 한 번 감사드립니다! – mauriblint

+0

안녕하세요. 질문이 하나 더 있습니다! CURRENT_TIME() 함수를 몇 시간 뺀 후 곧 제공 될 프로그램을 얻으려면 어떻게해야합니까? – mauriblint