回答編集履歴

2

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

2016/10/27 04:27

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -8,6 +8,30 @@
8
8
 
9
9
  ```sql
10
10
 
11
+ SELECT * FROM playoff WHERE start BETWEEN
12
+
11
- 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')
13
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:00:00') AND
14
+
15
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d %H:59:59')
12
16
 
13
17
  ```
18
+
19
+
20
+
21
+ もし常に一週間後の12時台(12:00~12:59)を取得したいときは、次に様になります。
22
+
23
+
24
+
25
+ ```sql
26
+
27
+ SELECT * FROM playoff WHERE start BETWEEN
28
+
29
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d 12:00:00') AND
30
+
31
+ DATE_FORMAT(NOW() + INTERVAL 7 DAY, '%Y-%m-%d 12:59:59')
32
+
33
+ ```
34
+
35
+
36
+
37
+ なお、うるう秒が考慮されていませんが、そもそも MySQL はうるう秒(23:59:60)を扱えませんので問題ないと思います

1

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

2016/10/27 04:27

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -8,6 +8,6 @@
8
8
 
9
9
  ```sql
10
10
 
11
- 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')
11
+ 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')
12
12
 
13
13
  ```