将 oracle 表转储到 csv 文件时出现问题。问题出在日期转储中,我使用当前代码得到类似“23-Jun-2009”的日期,但我需要类似“2009-06-23 20:18:44”的日期。如果输入代码,我会得到正确的日期
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();
}
}