Можем ли мы фильтровать файлы 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
Другие вопросы по тегам