- 締切済み
varcharの比較
こんにちは。 DBのテーブル(test_tbl)が ID varchar update varchar となっているときにupdateがたとえば20040501よりもあとのものをJSPで表示させたいとします。その場合、数値型にしないと比較はできないのでしょうか? varcharどうしで比較する方法があると聞いたのですがどうやるのかわかりません。 (データ) ID update 1 20040410 2 20040612 3 20040520 のときはIDが2と3のみ表示させたいのです。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- sumou111
- ベストアンサー率56% (50/89)
実際にJSPファイルを作成してみましたが、特に数値に変換しなくても普通に比較・表示されましたよ。以下に実際作ったJSPを示します。 -------------------------------------------------- JSP -------------------------------------------------- <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="java.sql.*" %> <%! Connection con = null; Statement stmt = null; ResultSet rs = null; // データベースに接続 public void jspInit() { try { String user = "(ユーザ名)"; String password = "(パスワード)"; String host = "jdbc:postgresql:(データベース名)"; String driver = "org.postgresql.Driver"; Class.forName(driver); con = DriverManager.getConnection(host, user, password); } catch(ClassNotFoundException e) { e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } } // データベースを切断 public void jspDestroy() { try { if(rs != null) { rs.close(); rs = null; } if(stmt != null) { stmt.close(); stmt = null; } if(con != null) { con.close(); con = null; } } catch(SQLException e) { e.printStackTrace(); } } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>データベースアクセス</title> </head> <body> <table> <tr> <td> ID </td> <td> update </td> </tr> <% stmt = con.createStatement(); try { int id; String update; rs = stmt.executeQuery("select * from test2 where update>'20040501'"); while(rs.next()) { id = rs.getInt("ID"); update = rs.getString("update"); %> <tr> <td> <%= id %> </td> <td> <%= update %> </td> </tr> <% } } catch(SQLException e) { e.printStackTrace(); } %> </tr> </table> </body> </html> -------------------------------------------------- 結果 -------------------------------------------------- ID update 2 20040612 3 20040520 即興で作ったプログラムですので不具合が多々含まれていると思いますが、一応結果が表示できましたので載せました。また実際には見やすいように字下げしたのですが、どうやら空白等が無視されてしまうみたいで、非常に見にくいプログラムとなってしまいましたが、その点はご容赦ください。 以上です。