varchar として列に一種の奇妙な日付形式のテーブルがあります-これは会社が私に提供した形式です-真ん中の T は物事を台無しにしているようです.
EVENTID | EVENT_DATE | EVENT_DURATION
1 | 2012-10-14T06:00 | 15
2 | 2012-10-14T06:15 | 11
3 | 2012-10-14T06:26 | 14
4 | 2012-10-14T06:40 | 10
など...など
現在の時刻をまったく同じ形式で返すPHPコードがあります(途中に奇妙な「T」があります)
$thisin = DateTime::createFromFormat('Y-m-d\TH:i', date('Y-m-d\TH:i'));
$thisin->setTimeZone(new DateTimeZone('UTC'));
$thisout= $thisin->format('Y-m-d\TH:i');
今日が 14 日で、現在の時刻が 06:21 であると仮定すると、"$thisout from php" と次の 5 行 (将来) に一致する期間に基づいて、現在の行をクエリするにはどうすればよいですか。
現在の日時はphpから「2012-10-14T06:21」として返されるため、クエリは出力する必要があります
2 | 2012-10-14T06:15 | 11 (Now SHowing)
3 | 2012-10-14T06:26 | 14
4 | 2012-10-14T06:40 | 10
ect ect
私は何時間も頭を悩ませてきましたが、DATE_FORMAT() が機能していないようで、真ん中に T があるのではないかと思います。現在の時間が特定の行に適用されるかどうかを判断するために期間を使用する方法を理解する必要もあります。
これは動作しません
SELECT DISTINCT EVENTID, EVENT DATE, EVENT_DURATION
FROM epg_event
WHERE DATE_FORMAT(EVENT_DATE, '%Y-%m-%dT%H:%i') >= DATE_FORMAT(NOW(), '%Y-%m-%dT%H:%i')
ORDER BY EVENT_DATE ASC LIMIT 5
何か案は?