将oracle表转储到csv文件时出现问题。 问题是日期倾销 我用当前代码得到“2009年6月23日”这样的日期,但我需要像“2009-06-23 20:18:44”之类的日期。 我得到正确的日期为止,如果把代码将oracle表转储到csv。日期转换
while(result.next()) {
System.out.println(result.getString("D_FORM"));
}
我无法理解日期如何以及在何处转换 我的代码是
package com.my.table2csv;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.*;
import java.util.Calendar;
import java.util.Map;
import au.com.bytecode.opencsv.CSVWriter;
public class Main {
public static void main(String[] args) throws IOException, SQLException {
String host = "";
String user = "";
String password = "";
String db = "";
String table = "";
String file = "";
Connection conn = null;
for(int i=0; i < args.length; i++) {
if (args[i].equals("-h")) {
host = args[++i];
}
if (args[i].equals("-u")) {
user = args[++i];
}
if (args[i].equals("-p")) {
password = args[++i];
}
if (args[i].equals("-d")) {
db = args[++i];
}
if (args[i].equals("-t")) {
table = args[++i];
}
if (args[i].equals("-f")) {
file = args[++i];
}
}
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection("jdbc:oracle:thin:@"+host+":1521:"+db, user, password);
conn.setAutoCommit(true);
String queryStr = "SELECT * FROM " + table;
PreparedStatement preStatementS = conn.prepareStatement(queryStr);
ResultSet result = preStatementS.executeQuery();
//while(result.next()) {
// System.out.println(result.getString("D_FORM"));
//}
CSVWriter writer = new CSVWriter(new FileWriter(file), ',');
writer.writeAll(result, `enter code here`false);
writer.close();
}
}