2016-03-08 54 views
0

這是到目前爲止我的代碼獲取Mearest時間使用MySQL的DATE_FORMAT

"select * from schedule_tbl where sname = '" & Label4.Text &"' 
and starting_time <= ending_time and ending_time >= starting_time 
and day = DATE_FORMAT(Now(),'%W')" 



starting_time  ending_time   day 
07:00:00    08:30:00    Tuesday 
08:30:00    10:00:00    Tuesday 

它只返回數據庫中的第一條記錄。我想要的是,如果現在的時間是早上8點30分,那麼下一個時間表將顯示爲上午8點30分至上午10點。我如何使用上面的代碼來做到這一點?或者有沒有其他方法可以做到這一點?

示例模式

enter image description here

+0

Sql注入警告。 https://xkcd.com/327/ –

+0

@JuanCarlosOropeza我會稍後再做 –

+1

你的查詢沒有意義。你說'ST <= ET和ET> = ST'是不是相同? –

回答

1

您要添加的「我要開始時間是低於或-等於現在的」邏輯可以通過starting_time<=DATE_FORMAT(NOW(),'%T')完成:

"select * from schedule_tbl where sname = '" & Label4.Text &"' 
    and starting_time <= ending_time and starting_time<=DATE_FORMAT(NOW(),'%T') 
    and day = DATE_FORMAT(Now(),'%W')" 

請注意,如評論中所述,ending_time >= starting_time是多餘的,因爲它滿足starting_time <= ending_time

+0

其返回空 –

+0

那麼,它應該返回的東西? :)你的表有一個日期是在當地時間之後和星期二? – Sevle