teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コード整形・コメント追加

2016/10/27 04:27

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -3,5 +3,17 @@
3
3
  それならばこんな感じで書いてみてはどうでしょうか(少し不格好ですが・・・)
4
4
 
5
5
  ```sql
6
+ SELECT * FROM playoff WHERE start BETWEEN
6
- SELECT * FROM playoff WHERE start BETWEEN DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:00:00') AND DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:59:59')
7
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:00:00') AND
8
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:59:59')
7
- ```
9
+ ```
10
+
11
+ もし常に一週間後の12時台(12:00~12:59)を取得したいときは、次に様になります。
12
+
13
+ ```sql
14
+ SELECT * FROM playoff WHERE start BETWEEN
15
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d 12:00:00') AND
16
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d 12:59:59')
17
+ ```
18
+
19
+ なお、うるう秒が考慮されていませんが、そもそも MySQL はうるう秒(23:59:60)を扱えませんので問題ないと思います

1

コード修正\(MySQLはうるう秒を扱えないため\)

2016/10/27 04:27

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -3,5 +3,5 @@
3
3
  それならばこんな感じで書いてみてはどうでしょうか(少し不格好ですが・・・)
4
4
 
5
5
  ```sql
6
- SELECT * FROM playoff WHERE start BETWEEN DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:00:00') AND DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:59:60')
6
+ SELECT * FROM playoff WHERE start BETWEEN DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:00:00') AND DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:59:59')
7
7
  ```