Java 在JDBC中,由于表的字段/列中出现逗号,csv格式的分隔不正确
列中的值-CALLINGVALUE为“49 TT,5天”,因此列值以csv格式正确打印。如何处理列中的逗号?您可以将每个字段括在引号之间,但如果数据包含引号字符,则会出现问题,在这种情况下,应将其加倍Java 在JDBC中,由于表的字段/列中出现逗号,csv格式的分隔不正确,java,csv,jdbc,Java,Csv,Jdbc,列中的值-CALLINGVALUE为“49 TT,5天”,因此列值以csv格式正确打印。如何处理列中的逗号?您可以将每个字段括在引号之间,但如果数据包含引号字符,则会出现问题,在这种情况下,应将其加倍 否则,您可以使用CSV库。这就是我要做的。您想做什么?我试图以逗号分隔的格式导出数据,但数据库表中的一列(列名-CALLINGVALUE)中有一个逗号(例如:49 TT,5天),因此一个列值被拆分为两列。如何将值导出为csv格式? import java.sql.*; public class
否则,您可以使用CSV库。这就是我要做的。您想做什么?我试图以逗号分隔的格式导出数据,但数据库表中的一列(列名-CALLINGVALUE)中有一个逗号(例如:49 TT,5天),因此一个列值被拆分为两列。如何将值导出为csv格式?
import java.sql.*;
public class Voucher {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String dbURL = "jdbc:oracle:thin:user/pwd@IP:PORT:DB";
Connection conn = DriverManager.getConnection(dbURL);
String query = "SELECT CIRCLENAME,CALLINGVALUE,GRACEPERIOD,MINOFUSAGE,MRP,PROCESSINGFEE,SERVICETAX,VALIDITY from AM_PREPAID_VOUCHER_COUPONS A, AM_CIRCLE B WHERE A.CIRCLEID=B.CIRCLEID order by b.CIRCLENAME asc";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
System.out.println("CIRCLENAME,CALLINGVALUE,GRACEPERIOD,MINOFUSAGE,MRP,PROCESSINGFEE,SERVICETAX,VALIDITY");
while (rs.next())
{
String CIRCLENAME = rs.getString("CIRCLENAME");
String CALLINGVALUE = rs.getString("CALLINGVALUE");
String GRACEPERIOD = rs.getString("GRACEPERIOD");
String MINOFUSAGE = rs.getString("MINOFUSAGE");
String MRP = rs.getString("MRP");
String PROCESSINGFEE = rs.getString("PROCESSINGFEE");
String SERVICETAX = rs.getString("SERVICETAX");
String VALIDITY = rs.getString("VALIDITY");
System.out.println(CIRCLENAME+ "," +CALLINGVALUE+ "," +
GRACEPERIOD+ "," +MINOFUSAGE+ "," +MRP+ "," +PROCESSINGFEE+ "," +
SERVICETAX+ "," +VALIDITY);
}
conn.close();
}
catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
}