こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

JAVAでYYYYMMDDhhmm形式の文字列をORACLE(11g)

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


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


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


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

投稿日時 - 2010-09-13 06:56:49

QNo.6178726

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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/text/SimpleDateFormat.html
http://java.sun.com/javase/ja/6/docs/ja/api/java/sql/Timestamp.html

投稿日時 - 2010-09-13 14:36:17

ANo.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で渡すのもあり。

投稿日時 - 2010-09-13 14:08:48

あなたにオススメの質問