繁体   English   中英

HugSQL 错误:列“date_answer”是日期类型,但表达式是字符类型不同?

[英]HugSQL Error: column “date_answer” is of type date but expression is of type character varying?

我正在使用clojure hugSQL将数据插入PostgreSQL数据库。 我正在尝试使用以下方法将多行插入答案表: tuple * 参数。 传递日期时出现以下错误:

Error: column "date_answer" is of type date but expression is of type character varying?

HugSQL 创建的示例 SQL 查询:

INSERT INTO answer (a, b, c, d, date_answer) VALUES (62,76,NULL,NULL,'2020-05-13')

使用终端插入时,相同的查询可以正常工作,因此字符串的格式似乎很好。 有什么方法可以在 :tuple* 参数中指定单个字段,以便我可以执行类似的操作:date_answer::date

这是我的 HugSQL 查询:

插入答案 (a, b, c, d, date_answer) VALUES:tuple*:answers

您必须解析传递给日期的值。 例如,

(ns your-ns
  ...
  (:import
   (java.time LocalDate)
   (java.time.format DateTimeFormatter DateTimeParseException)))

(def ^:private yyyy-MM-dd-formatter
  (DateTimeFormatter/ofPattern "yyyy-MM-dd"))

;; Assuming your HugSQL function is called insert
(insert {:answers [[a b c d (LocalDate/parse date-answer yyyy-MM-dd-formatter)]]

那么您的日期答案是“日期”类型,而不是“字符变化”类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM