プロが教える店舗&オフィスのセキュリティ対策術

JAVAでYYYYMMDDhhmm形式の文字列をORACLE(11g)のDate型で定義されたカラムに反映させたいです。また逆にオラクルから取得したDate型の値をJAVAのYYYYMMDDhhmm形式の文字列に変換するにはどうしたら良いでしょうか?


(1)Oracle(Date型)→Java(YYYYMMDDhhmm形式の文字列)


(2)Java(YYYYMMDDhhmm形式の文字列)→Oracle(Date型)


具体的なコーディングが分からないので、サンプル的なものを提示して頂けると嬉しいです。よろしくお願いします。

A 回答 (2件)

簡単に。



(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 …
http://java.sun.com/javase/ja/6/docs/ja/api/java …
    • good
    • 1

(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で渡すのもあり。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!