Можем ли мы фильтровать файлы CSV, используя CsvJdbc, где два столбца равны?
Я пытаюсь использовать запрос, который сравнивает два значения столбца, например,
Select * from table where header1 = header2
но это не похоже на работу для меня. Это поддерживается в CsvJdbc?
1 ответ
Да, это работает. Подтверждено с помощью csvjdbc-1.0-28.jar. С файлом CSV
id,header1,header2
1,1,1
2,1,2
3,2,1
4,2,2
и код Java
public static void main(String[] args) {
Properties props = new Properties();
props.put("columnTypes", "INTEGER");
try (
Connection conn = DriverManager.getConnection("jdbc:relique:csv:C:/Users/Gord/Desktop", props);
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT id FROM table WHERE header1=header2")) {
while (rs.next()) {
System.out.println(rs.getInt(1));
}
} catch (Exception e) {
e.printStackTrace(System.err);
}
}
результат
1
4