2016-11-25 12 views
0

私のアプリケーションでOracleデータベースが使用されていて、そのテーブルの1つに日付列が含まれています。 のsqldeveloper内の私のクエリを実行すると、私はこれを使用しない場合は、私だけ25/11/2016Oracleの日付にJavaからの時間がありません


などの日付を参照してください

alter session set nls_date_format = 'DD/MM/YYYY HH24:MI:SS'; 

日付+時間を取得するために、次の行を追加する必要があります私は自分のJAVAコードからクエリを実行しています。私は上記の行を持たないので、日付はすべて形式で返されます。DD/MM/YY

JAVA

String query = "SELECT date from SCHEMA.table"; 
ResultSet rs = null; 
try { 
    connection = ConnectionFactory.getConnection(Database.ORACLE); 
    preparedStatement = connection.prepareStatement(query); 

    rs = preparedStatement.executeQuery(); 
    while (rs.next()) { 
     java.sql.Date dateDB = rs.getDate("date"); 
    } 
catch(SQLException e){ 
    //error 
} 

時間を使って日付を取得するにはどうすればよいですか?各クエリにalter session ...を追加する必要がありますか? java.sql.Date

+1

データベースからデータをどのように取得しますか?そして、あなたのコードの中からどのように表示していますか? **あなたの質問を編集し、日付を取得して表示するJavaコードを追加してください。 –

+0

@a_horse_with_no_name質問が更新されました – Weedoze

+0

同様の問題が解決されました[ここ](http://stackoverflow.com/questions/21162753/jdbc-resultset-i-need-a-getdatetime-but-there-is-only-getdate-and- gettimestamp) – Abhishek

答えて

5

説明部分:

のSQL DATEの定義に適合するように、java.sql.Dateインスタンスによって ラップミリ秒の値は、 分の時間を設定することにより、「正規化」である必要があり、

:ゼロ

おそらく

java.sql.Timestamp秒、およびミリ秒は、時間のコンポーネントが含まれて正しい型であります

+3

つまり、 'ResultSet.getTimestamp()'ではなく 'getDate()'を使う必要があります。 –

関連する問題