我们可以使用CsvJdbc过滤CSV文件,其中两列相等吗?

时间:2014-08-21 09:51:12

标签: java jdbc csvjdbc

我正在尝试使用比较两个列值的查询,例如

Select * from table where header1 = header2

但它似乎对我不起作用。这在CsvJdbc中是否受支持?

1 个答案:

答案 0 :(得分:0)

是的,确实有效。用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