回答編集履歴

3

追加しました

2016/09/16 00:51

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -35,3 +35,113 @@
35
35
  +"AND end_time BETWEEN TIME '00:00' AND ?::time";
36
36
 
37
37
  ```
38
+
39
+
40
+
41
+ サンプルJavaですが出力されましたので、ご参考に添付いたします
42
+
43
+
44
+
45
+ ```java
46
+
47
+
48
+
49
+ import java.sql.*;
50
+
51
+ class DbTest {
52
+
53
+ public static void main(String[] args) {
54
+
55
+ String stime;
56
+
57
+ String etime;
58
+
59
+ try {
60
+
61
+ // JDBCドライバの登録
62
+
63
+ String driver = "org.postgresql.Driver";
64
+
65
+ // データベースの指定
66
+
67
+ String server = "127.0.0.1"; // PostgreSQL サーバ ( IP または ホスト名 )
68
+
69
+ String dbname = "hogeDB"; // データベース名
70
+
71
+ String url = "jdbc:postgresql://" + server + "/" + dbname;
72
+
73
+ String user = "hogehoge"; //データベース作成ユーザ名
74
+
75
+ String password = "password"; //データベース作成ユーザパスワード
76
+
77
+ Class.forName (driver);
78
+
79
+ // データベースとの接続
80
+
81
+ Connection con = DriverManager.getConnection(url, user, password);
82
+
83
+ // テーブル照会実行
84
+
85
+ //Statement stmt = con.createStatement ();
86
+
87
+ String sql = "SELECT start_time,end_time "
88
+
89
+ +"FROM test_table "
90
+
91
+ +"WHERE start_time BETWEEN ?::time AND TIME '24:00' "
92
+
93
+ +"AND end_time BETWEEN TIME '00:00' AND ?::time";
94
+
95
+ PreparedStatement stmt = con.prepareStatement(sql);
96
+
97
+ //パラメーターセット
98
+
99
+ stmt.setString(1, "06:00");
100
+
101
+ stmt.setString(2, "23:00");
102
+
103
+
104
+
105
+ ResultSet rs = stmt.executeQuery();
106
+
107
+ // テーブル照会結果を出力
108
+
109
+ while(rs.next()){
110
+
111
+ stime = rs.getString("start_time");
112
+
113
+ etime = rs.getString("end_time");
114
+
115
+ System.out.println("開始:" + stime);
116
+
117
+ System.out.println("終了:" + etime);
118
+
119
+ }
120
+
121
+ // データベースのクローズ
122
+
123
+ rs.close();
124
+
125
+ stmt.close();
126
+
127
+ con.close();
128
+
129
+ } catch (SQLException e) {
130
+
131
+ System.err.println("SQL failed.");
132
+
133
+ e.printStackTrace ();
134
+
135
+ } catch (ClassNotFoundException ex) {
136
+
137
+ ex.printStackTrace ();
138
+
139
+ }
140
+
141
+ }
142
+
143
+ }
144
+
145
+
146
+
147
+ ```

2

追加

2016/09/16 00:51

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -21,3 +21,17 @@
21
21
  ```
22
22
 
23
23
 
24
+
25
+ ::のキャストではどうでしょうか
26
+
27
+ ```java
28
+
29
+ "SELECT start_time,end_time "
30
+
31
+ +"FROM test_table "
32
+
33
+ +"WHERE start_time BETWEEN ?::time AND TIME '24:00' "
34
+
35
+ +"AND end_time BETWEEN TIME '00:00' AND ?::time";
36
+
37
+ ```

1

訂正

2016/09/16 00:43

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -21,15 +21,3 @@
21
21
  ```
22
22
 
23
23
 
24
-
25
- また,Javaの部分のテストは行っておりませんが、シングルクォートで括ってはどうでしょうか?
26
-
27
-
28
-
29
- ```ここに言語を入力
30
-
31
- +"WHERE start_time BETWEEN TIME '?' AND TIME '24:00' "
32
-
33
- +"AND end_time BETWEEN TIME '00:00' AND TIME '?'";
34
-
35
- ```