我尝试使用JDBC从数据库中查询数据。问题在于有些列是数组类型。
;get that particular column
(def jdbc-array (with-connection *db*
(with-query-results rs ["select * from refgene limit 5"]
(:exonstarts (first rs)))))
;Check if it has a value
(print jdbc-array)
;#<Jdbc4Array {67075873,67078739,67085754,67100417,67109640,67113051,67129424,67131499,67143471,67162932}>nil
;check class
(class jdbc-array)
;org.postgresql.jdbc4.Jdbc4Array
如何将这个数组转换为序列/向量在Clojure中?我尝试了(seq jdbc-array) 和(seq (.getArray jdbc-array)),但都不起作用...
seq
知道数组。你遇到了什么错误? - kotarakjava.sql.Array
,.getArray
+seq
的组合应该可以工作。您也可以尝试.getResultSet
+resultset-seq
。我怀疑.getArray
返回一个空数组或nil
,因为seq
没有抱怨。 - kotarak