0

我对 cassandra 有另一个问题。我在 Mysql 中以 .csv 格式导出一个表并将其导入 Cassandra。Mysql 表包含日期和时间类型的字段日期和时间。我在 cassandra 中将这些字段定义为 varchar。因此,当我导入 .csv 文件并执行以下查询时,它会显示一个错误:我的查询:

ResultSet rs = stmnt.ExecuteQuery("Select * from station info where IDstation = 1011 and IDinfo = 18412:);
while (rs.next) {
   System.out.println(rs1.getFloate(1) + "  " + 
                      rs1.getString(2) + "  " + 
                      rs1.getFloate(3) + " " + 
                      rs1.getString(4) + "  " + 
                      rs1.getInt(5) + "  " + 
                      rs1.getInt(6) + "  " + 
                      rs1.getString(7) + "  " + 
                      rs1.getFloate(8));
}

打印命令中的第 7 个字段是日期..

错误是:

java.lang.NumberFormatException: For input String: "6/2/1962"
    at org.apache.cassandracql.jdbc.cassandraResultSet.getInt(CassandraResultSet.java:619)
    at org.apache.cassandracql.jdbc.cassandraResultSet.getInt(CassandraResultSet.java:590)

我不明白它在说什么......有人可以帮我吗?

4

2 回答 2

1

仔细阅读堆栈跟踪告诉您的内容

java.lang.NumberFormatException:对于输入字符串:org.apache.cassandracql.jdbc.cassandraResultSet 处的“6/2/1962”。getInt (CassandraResultSet.java:619) 在 org.apache.cassandracql.jdbc.cassandraResultSet。getInt (CassandraResultSet.java:590)

您遇到的错误与尝试将字符串检索为整数有关。

于 2013-08-13T19:05:42.150 回答
0

确保日期列仅位于第 7 位,而不是其他任何位置。我建议您通过指定列名来改进您的查询。例如,

SELECT Col1, Col2... FROM Table

这避免了列顺序的混淆。

于 2013-12-07T13:11:20.877 回答