- 締切済み
JAVAでYYYYMMDDhhmm形式の文字列をORACLE(11g)
JAVAでYYYYMMDDhhmm形式の文字列をORACLE(11g)のDate型で定義されたカラムに反映させたいです。また逆にオラクルから取得したDate型の値をJAVAのYYYYMMDDhhmm形式の文字列に変換するにはどうしたら良いでしょうか? (1)Oracle(Date型)→Java(YYYYMMDDhhmm形式の文字列) (2)Java(YYYYMMDDhhmm形式の文字列)→Oracle(Date型) 具体的なコーディングが分からないので、サンプル的なものを提示して頂けると嬉しいです。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yamada_g
- ベストアンサー率68% (258/374)
簡単に。 (1) Timestamp timestamp = resultSet.getTimestamp("COLUMN_NAME"); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmm"); String dateStr = format.format(timestamp); もしくはselect時に to_charしてgetStringで受け取るという方法もあります。 (2) String dateStr = "201009131421"; SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmm"); statement.setTimestamp(new java.sql.Timestamp(format.parse(dateStr).getTime()); http://java.sun.com/javase/ja/6/docs/ja/api/java/text/SimpleDateFormat.html http://java.sun.com/javase/ja/6/docs/ja/api/java/sql/Timestamp.html
- askaaska
- ベストアンサー率35% (1455/4149)
(1) JavaではResultSetからgetDateでjava.sql.Date型で取得。 それをSimpleDateFormatで文字列に変換。 Date型で取得せずにOracleのto_Char関数を使ってStringで取得するのもあり。 (2) JavaでSimpleDateFormatでjava.util.Date型に変換 それをPreparedStatementでsetDateで渡せばOK Oracleのto_Date関数を使ってStringで渡すのもあり。